Module Name:    src
Committed By:   uwe
Date:           Mon Dec 19 00:41:45 UTC 2022

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

Log Message:
mutex(9): Minor formatting fixes

While here, move the reference to options(4) to the OPTIONS section.


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/share/man/man9/mutex.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/mutex.9
diff -u src/share/man/man9/mutex.9:1.33 src/share/man/man9/mutex.9:1.34
--- src/share/man/man9/mutex.9:1.33	Sun Dec 18 23:38:42 2022
+++ src/share/man/man9/mutex.9	Mon Dec 19 00:41:45 2022
@@ -1,4 +1,4 @@
-.\"	$NetBSD: mutex.9,v 1.33 2022/12/18 23:38:42 gutteridge Exp $
+.\"	$NetBSD: mutex.9,v 1.34 2022/12/19 00:41:45 uwe Exp $
 .\"
 .\" Copyright (c) 2007, 2009 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -67,7 +67,8 @@
 .Cd "options LOCKDEBUG"
 .Sh DESCRIPTION
 Mutexes are used in the kernel to implement mutual exclusion among LWPs
-(lightweight processes) and interrupt handlers.
+.Pq lightweight processes
+and interrupt handlers.
 .Pp
 The
 .Vt kmutex_t
@@ -80,23 +81,21 @@ Mutexes replace the
 system traditionally used to provide synchronization between interrupt
 handlers and LWPs.
 .Sh OPTIONS
-.Bl -tag -width abcd
+The following kernel options have effect on mutex operations:
+.Bl -tag -width Cd
 .It Cd "options DIAGNOSTIC"
-.Pp
 Kernels compiled with the
 .Dv DIAGNOSTIC
 option perform basic sanity checks on mutex operations.
 .It Cd "options LOCKDEBUG"
-.Pp
 Kernels compiled with the
 .Dv LOCKDEBUG
 option perform potentially CPU intensive sanity checks
 on mutex operations.
 .El
 .Sh FUNCTIONS
-.Bl -tag -width abcd
+.Bl -tag -width Ds
 .It Fn mutex_init "mtx" "type" "ipl"
-.Pp
 Dynamically initialize a mutex for use.
 .Pp
 No other operations can be performed on a mutex until it has been initialized.
@@ -115,9 +114,8 @@ an endorsed, stable part of the interfac
 The type of mutex returned depends on the
 .Fa ipl
 argument:
-.Bl -tag -width abcd
-.It IPL_NONE, or one of the IPL_SOFT* constants
-.Pp
+.Bl -tag -width Dv
+.It Dv IPL_NONE , No or one of the Dv IPL_SOFT* No constants
 An adaptive mutex will be returned.
 Adaptive mutexes provide mutual exclusion between LWPs,
 and between LWPs and soft interrupt handlers.
@@ -125,8 +123,7 @@ and between LWPs and soft interrupt hand
 Adaptive mutexes cannot be acquired from a hardware interrupt handler.
 An LWP may either sleep or busy-wait when attempting to acquire
 an adaptive mutex that is already held.
-.It IPL_VM, IPL_SCHED, IPL_HIGH
-.Pp
+.It Dv IPL_VM , IPL_SCHED , IPL_HIGH
 A spin mutex will be returned.
 Spin mutexes provide mutual exclusion between LWPs, and between LWPs
 and interrupt handlers.
@@ -160,13 +157,11 @@ See
 .Xr spl 9
 for further information on interrupt priority levels (IPLs).
 .It Fn mutex_destroy "mtx"
-.Pp
 Release resources used by a mutex.
 The mutex may not be used after it has been destroyed.
 .Fn mutex_destroy
 may block in order to free memory.
 .It Fn mutex_enter "mtx"
-.Pp
 Acquire a mutex.
 If the mutex is already held, the caller will block and not return until the
 mutex is acquired.
@@ -194,7 +189,6 @@ the level set in
 .Fn mutex_init
 if it is not already equal or higher.
 .It Fn mutex_exit "mtx"
-.Pp
 Release a mutex.
 The mutex must have been previously acquired by the caller.
 Mutexes may be released out of order as needed.
@@ -210,17 +204,16 @@ to acquire the mutex even on another CPU
 Thus, there is a global total ordering on all loads and stores under
 the same mutex.
 .It Fn mutex_ownable "mtx"
-.Pp
 When compiled with
 .Dv LOCKDEBUG
-(see
-.Xr options 4 ) ,
 ensure that the current process can successfully acquire
 .Ar mtx .
 If
 .Ar mtx
 is already owned by the current process, the system will panic
-with a "locking against myself" error.
+with a
+.Dq locking against myself\^
+error.
 .Pp
 This function is needed because
 .Fn mutex_owned
@@ -230,7 +223,6 @@ vs owned by another process.
 is reasonably heavy-weight, and should only be used with
 .Xr KDASSERT 9 .
 .It Fn mutex_owned "mtx"
-.Pp
 For adaptive mutexes, return non-zero if the current LWP holds the mutex.
 For spin mutexes, return non-zero if the mutex is held, potentially by the
 current processor.
@@ -239,14 +231,11 @@ Otherwise, return zero.
 .Fn mutex_owned
 is provided for making diagnostic checks to verify that a lock is held.
 For example:
-.Bd -literal
-	KASSERT(mutex_owned(&driver_lock));
-.Ed
+.Dl KASSERT(mutex_owned(&driver_lock));
 .Pp
 It should not be used to make locking decisions at run time.
 For spin mutexes, it must not be used to verify that a lock is not held.
 .It Fn mutex_spin_enter "mtx"
-.Pp
 Equivalent to
 .Fn mutex_enter ,
 but may only be used when it is known that
@@ -257,7 +246,6 @@ Implies the same memory ordering as
 On some architectures, this can substantially reduce the cost of acquiring
 a spin mutex.
 .It Fn mutex_spin_exit "mtx"
-.Pp
 Equivalent to
 .Fn mutex_exit ,
 but may only be used when it is known that
@@ -268,7 +256,6 @@ Implies the same memory ordering as
 On some architectures, this can substantially reduce the cost of releasing
 a spin mutex.
 .It Fn mutex_tryenter "mtx"
-.Pp
 Try to acquire a mutex, but do not block if the mutex is already held.
 Returns non-zero if the mutex was acquired, or zero if the mutex was
 already held.
@@ -276,26 +263,26 @@ already held.
 .Fn mutex_tryenter
 can be used as an optimization when acquiring locks in the wrong order.
 For example, in a setting where the convention is that
-.Dv first_lock
+.Va first_lock
 must be acquired before
-.Dv second_lock ,
+.Va second_lock ,
 the following can be used to optimistically lock in reverse order:
-.Bd -literal
-	/* We hold second_lock, but not first_lock. */
-	KASSERT(mutex_owned(&second_lock));
+.Bd -literal -offset indent
+/* We hold second_lock, but not first_lock. */
+KASSERT(mutex_owned(&second_lock));
 
-	if (!mutex_tryenter(&first_lock)) {
-		/* Failed to get it - lock in the correct order. */
-		mutex_exit(&second_lock);
-		mutex_enter(&first_lock);
-		mutex_enter(&second_lock);
+if (!mutex_tryenter(&first_lock)) {
+        /* Failed to get it - lock in the correct order. */
+        mutex_exit(&second_lock);
+        mutex_enter(&first_lock);
+        mutex_enter(&second_lock);
 
-		/*
-		 * We may need to recheck any conditions the code
-		 * path depends on, as we released second_lock
-		 * briefly.
-		 */
-	}
+        /*
+         * We may need to recheck any conditions the code
+         * path depends on, as we released second_lock
+         * briefly.
+         */
+}
 .Ed
 .El
 .Sh CODE REFERENCES
@@ -309,6 +296,7 @@ code must provide to support mutexes.
 .Sh SEE ALSO
 .Xr atomic_ops 3 ,
 .Xr membar_ops 3 ,
+.Xr options 4 ,
 .Xr lockstat 8 ,
 .Xr condvar 9 ,
 .Xr kpreempt 9 ,

Reply via email to