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