Minor language tweaks.

Discussed with:	Hiten Pandya <hiten@unixdaemons.com>
This commit is contained in:
Robert Watson 2002-12-02 19:36:14 +00:00
parent c36b056dcc
commit 4d0de73f15
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=15135
2 changed files with 14 additions and 16 deletions

View file

@ -63,7 +63,7 @@
The kernel is basically one rather large and complex program. To The kernel is basically one rather large and complex program. To
make the kernel multithreaded we use some of the same tools used make the kernel multithreaded we use some of the same tools used
to make other programs multithreaded. These include mutexes, to make other programs multithreaded. These include mutexes,
reader/writer locks, semaphores, and condition variables. For shared/exclusive locks, semaphores, and condition variables. For
definitions of many of the terms, please see definitions of many of the terms, please see
<xref linkend="defs">.</para> <xref linkend="defs">.</para>
</sect1> </sect1>
@ -579,8 +579,8 @@
this condition variable must only be waited on if the caller is this condition variable must only be waited on if the caller is
holding no other locks, or a lock order violation may be holding no other locks, or a lock order violation may be
possible. The busy count, in effect, acts as a form of possible. The busy count, in effect, acts as a form of
reader/writer lock over access to the framework: the difference shared/exclusive lock over access to the framework: the difference
is that, unlike with an sxlock, consumers waiting for the list is that, unlike with an sx lock, consumers waiting for the list
to become unbusy may be starved, rather than permitting lock to become unbusy may be starved, rather than permitting lock
order problems with regards to the busy count and other locks order problems with regards to the busy count and other locks
that may be held on entry to (or inside) the MAC Framework.</para> that may be held on entry to (or inside) the MAC Framework.</para>
@ -708,11 +708,10 @@
kernel statistics and configuration parameters, the sysctl kernel statistics and configuration parameters, the sysctl
mechanism must become aware of appropriate locking semantics mechanism must become aware of appropriate locking semantics
for those variables. Currently, sysctl makes use of a for those variables. Currently, sysctl makes use of a
single global <varname>sxlock</varname> to serialize use single global sx lock to serialize use of sysctl(); however, it
of sysctl(); however, it is assumed to operate under Giant is assumed to operate under Giant and other protections are not
and other protections are not provided. The remainder of provided. The remainder of this section speculates on locking
this section speculates on locking and semantic changes and semantic changes to sysctl.</para>
to sysctl.</para>
<para>- Need to change the order of operations for sysctl's that <para>- Need to change the order of operations for sysctl's that
update values from read old, copyin and copyout, write new to update values from read old, copyin and copyout, write new to

View file

@ -63,7 +63,7 @@
The kernel is basically one rather large and complex program. To The kernel is basically one rather large and complex program. To
make the kernel multithreaded we use some of the same tools used make the kernel multithreaded we use some of the same tools used
to make other programs multithreaded. These include mutexes, to make other programs multithreaded. These include mutexes,
reader/writer locks, semaphores, and condition variables. For shared/exclusive locks, semaphores, and condition variables. For
definitions of many of the terms, please see definitions of many of the terms, please see
<xref linkend="defs">.</para> <xref linkend="defs">.</para>
</sect1> </sect1>
@ -579,8 +579,8 @@
this condition variable must only be waited on if the caller is this condition variable must only be waited on if the caller is
holding no other locks, or a lock order violation may be holding no other locks, or a lock order violation may be
possible. The busy count, in effect, acts as a form of possible. The busy count, in effect, acts as a form of
reader/writer lock over access to the framework: the difference shared/exclusive lock over access to the framework: the difference
is that, unlike with an sxlock, consumers waiting for the list is that, unlike with an sx lock, consumers waiting for the list
to become unbusy may be starved, rather than permitting lock to become unbusy may be starved, rather than permitting lock
order problems with regards to the busy count and other locks order problems with regards to the busy count and other locks
that may be held on entry to (or inside) the MAC Framework.</para> that may be held on entry to (or inside) the MAC Framework.</para>
@ -708,11 +708,10 @@
kernel statistics and configuration parameters, the sysctl kernel statistics and configuration parameters, the sysctl
mechanism must become aware of appropriate locking semantics mechanism must become aware of appropriate locking semantics
for those variables. Currently, sysctl makes use of a for those variables. Currently, sysctl makes use of a
single global <varname>sxlock</varname> to serialize use single global sx lock to serialize use of sysctl(); however, it
of sysctl(); however, it is assumed to operate under Giant is assumed to operate under Giant and other protections are not
and other protections are not provided. The remainder of provided. The remainder of this section speculates on locking
this section speculates on locking and semantic changes and semantic changes to sysctl.</para>
to sysctl.</para>
<para>- Need to change the order of operations for sysctl's that <para>- Need to change the order of operations for sysctl's that
update values from read old, copyin and copyout, write new to update values from read old, copyin and copyout, write new to