Module Name:    src
Committed By:   pgoyette
Date:           Fri May 12 06:24:53 UTC 2017

Modified Files:
        src/share/man/man9 [prg-localcount2]: locking.9

Log Message:
Add info for localcount(9)

Sort SEE ALSO

Sort the usage table

XXX This man-page is a work in progress.  Notably, it is still missing
XXX a section on psref(9).


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.5.6.1 src/share/man/man9/locking.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/locking.9
diff -u src/share/man/man9/locking.9:1.5 src/share/man/man9/locking.9:1.5.6.1
--- src/share/man/man9/locking.9:1.5	Sun Apr 16 07:05:24 2017
+++ src/share/man/man9/locking.9	Fri May 12 06:24:53 2017
@@ -1,4 +1,4 @@
-.\"	$NetBSD: locking.9,v 1.5 2017/04/16 07:05:24 wiz Exp $
+.\"	$NetBSD: locking.9,v 1.5.6.1 2017/05/12 06:24:53 pgoyette Exp $
 .\"
 .\" Copyright (c) 2015 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd April 15, 2017
+.Dd May 12, 2017
 .Dt LOCKING 9
 .Os
 .Sh NAME
@@ -212,6 +212,20 @@ The read operations may happen from soft
 .Pp
 See
 .Xr pserialize 9 .
+.Ss CPU-Local Reference Counting
+The
+.Xr localcount 9
+mechanism provides a medium-weight reference counting mechanism, between
+.Xr atomic_ops 3
+and
+.Xr pserialize 9 .
+Localcount references are maintained within thread context, and the
+reference can migrate across CPUs; threads holding references are allowed
+to sleep.
+During normal operations, the reference count is maintained without any
+expensive inter-process communication.
+When a localcount is being drained, the process waits for all references
+on all CPUs to be released.
 .Ss Simple do-it-in-thread-context framework
 The workqueue utility routines are provided to defer work which is needed to be
 processed in a thread context.
@@ -229,20 +243,24 @@ can be used to protect shared resources 
 .It Sy interface Ta Sy thread Ta Sy softirq Ta Sy hardirq
 .It Xr atomic_ops 3 Ta yes Ta yes Ta yes
 .It Xr condvar 9 Ta yes Ta partly Ta no
+.It Xr localcount 9 Ta yes Ta no Ta no
 .It Xr membar_ops 3 Ta yes Ta yes Ta yes
 .It Xr mutex 9 Ta yes Ta depends Ta depends
+.It Xr pserialize 9 Ta yes Ta yes Ta no
 .It Xr rwlock 9 Ta yes Ta yes Ta no
 .It Xr softint 9 Ta yes Ta yes Ta yes
 .It Xr spl 9 Ta yes Ta no Ta no
 .It Xr splraiseipl 9 Ta yes Ta no Ta no
-.It Xr pserialize 9 Ta yes Ta yes Ta no
 .It Xr workqueue 9 Ta yes Ta yes Ta yes
 .El
 .Sh SEE ALSO
 .Xr atomic_ops 3 ,
 .Xr membar_ops 3 ,
 .Xr condvar 9 ,
+.Xr localcount 9 ,
 .Xr mutex 9 ,
+.Xr pserialize 9 ,
+.Xr psref 9 ,
 .Xr ras 9 ,
 .Xr rwlock 9 ,
 .Xr softint 9 ,

Reply via email to