Module Name:    src
Committed By:   ad
Date:           Mon May  4 11:44:28 UTC 2009

Modified Files:
        src/share/man/man9: callout.9

Log Message:
Add a CONCURRENCY section with some food for thought.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/share/man/man9/callout.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/callout.9
diff -u src/share/man/man9/callout.9:1.22 src/share/man/man9/callout.9:1.23
--- src/share/man/man9/callout.9:1.22	Mon May  4 11:28:20 2009
+++ src/share/man/man9/callout.9	Mon May  4 11:44:28 2009
@@ -1,4 +1,4 @@
-.\"	$NetBSD: callout.9,v 1.22 2009/05/04 11:28:20 ad Exp $
+.\"	$NetBSD: callout.9,v 1.23 2009/05/04 11:44:28 ad Exp $
 .\"
 .\" Copyright (c) 2000, 2003, 2009 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -92,7 +92,7 @@
 .Fn timeout
 and
 .Fn untimeout .
-.Pp
+.Sh FUNCTIONS
 The
 .Fn callout_init
 function initializes the callout handle
@@ -282,6 +282,20 @@
 This is used in situations where it is necessary to protect against
 the race condition described under
 .Fn callout_invoking .
+.Sh CONCURRENCY
+The callout facility performs locking internally in order to guarantee the
+atomicity of individual operations performed on callouts.
+It does not provide life cycle management of user-provided callout data
+structures, nor does it ensure that groups of operations (multiple function
+calls) are performed atomically.
+These aspects of callout management are the responsibility of the user of
+the callout facility.
+.Pp
+Scheduled callouts may be active concurrently in a context different to the
+user of the callout facility: on another CPU, or at a different interrupt
+priority level or thread on the current CPU.
+The callout facility provides only one guarantee in this regard: any given
+callout will never have multiple concurrent invocations.
 .Sh SEE ALSO
 .Xr hz 9
 .Sh HISTORY

Reply via email to