diff --git a/en_US.ISO8859-1/books/arch-handbook/locking/chapter.sgml b/en_US.ISO8859-1/books/arch-handbook/locking/chapter.sgml index e604ef443b..ed32ed61b5 100644 --- a/en_US.ISO8859-1/books/arch-handbook/locking/chapter.sgml +++ b/en_US.ISO8859-1/books/arch-handbook/locking/chapter.sgml @@ -79,28 +79,9 @@ </varlistentry> <varlistentry> - <term><constant>MTX_COLD</constant></term> + <term><constant>MTX_RECURSE</constant></term> <listitem> - <para>This mutex is initialized very early. Thus, it - must be declared via - <function>MUTEX_DECLARE</function>, and the - <constant>MTX_COLD</constant> flag must be passed to - <function>mtx_init</function>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>MTX_TOPHALF</constant></term> - <listitem> - <para>This spin mutex does not disable - interrupts.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>MTX_NORECURSE</constant></term> - <listitem> - <para>This mutex is not allowed to recurse.</para> + <para>This mutex is allowed to recurse.</para> </listitem> </varlistentry> </variablelist> @@ -147,7 +128,7 @@ <entry><quote>sched lock</quote></entry> <entry> <constant>MTX_SPIN</constant> | - <constant>MTX_COLD</constant> + <constant>MTX_RECURSE</constant> </entry> <entry> <varname>_gmonparam</varname>, @@ -156,42 +137,36 @@ <varname>curpriority</varname>, <structname/mtx/.<structfield/mtx_blocked/, <structname/mtx/.<structfield/mtx_contested/, - <structname/proc/.<structfield/p_contested/, - <structname/proc/.<structfield/p_blocked/, - <structname/proc/.<structfield/p_flag/ - (<constant>P_PROFIL</constant> XXX, - <constant>P_INMEM</constant>, - <constant>P_SINTR</constant>, - <constant>P_TIMEOUT</constant>, - <constant>P_SWAPINREQ</constant> XXX, - <constant>P_INMEN</constant> XXX), - <structname/proc/.<structfield/p_nice/, <structname/proc/.<structfield/p_procq/, - <structname/proc/.<structfield/p_blocked/, - <structname/proc/.<structfield/p_estcpu/, - <structname/proc/.<structfield/p_nativepri/, - <structname/proc/.<structfield/p_priority/, - <structname/proc/.<structfield/p_usrpri/, - <structname/proc/.<structfield/p_rtprio/, - <structname/proc/.<structfield/p_rqindex/, - <structname/proc/.<structfield/p_stats->p_prof/, - <structname/proc/.<structfield/p_stats->p_ru/, + <structname/proc/.<structfield/p_slpq/, + <structname/proc/.<structfield/p_sflag/ <structname/proc/.<structfield/p_stat/, + <structname/proc/.<structfield/p_estcpu/, <structname/proc/.<structfield/p_cpticks/ - <structname/proc/.<structfield/p_iticks/, - <structname/proc/.<structfield/p_uticks/, - <structname/proc/.<structfield/p_sticks/, + <structname/proc/.<structfield/p_pctcpu/, + <structname/proc/.<structfield/p_wchan/, + <structname/proc/.<structfield/p_wmesg/, <structname/proc/.<structfield/p_swtime/, <structname/proc/.<structfield/p_slptime/, <structname/proc/.<structfield/p_runtime/, - <structname/proc/.<structfield/p_pctcpu/, + <structname/proc/.<structfield/p_uu/, + <structname/proc/.<structfield/p_su/, + <structname/proc/.<structfield/p_iu/, + <structname/proc/.<structfield/p_uticks/, + <structname/proc/.<structfield/p_sticks/, + <structname/proc/.<structfield/p_iticks/, <structname/proc/.<structfield/p_oncpu/, - <structname/proc/.<structfield/p_asleep/, - <structname/proc/.<structfield/p_wchan/, - <structname/proc/.<structfield/p_wmesg/, - <structname/proc/.<structfield/p_slpq/, - <structname/proc/.<structfield/p_vmspace/ - (XXX - in <function>statclock</function>), + <structname/proc/.<structfield/p_lastcpu/, + <structname/proc/.<structfield/p_rqindex/, + <structname/proc/.<structfield/p_heldmtx/, + <structname/proc/.<structfield/p_blocked/, + <structname/proc/.<structfield/p_mtxname/, + <structname/proc/.<structfield/p_contested/, + <structname/proc/.<structfield/p_priority/, + <structname/proc/.<structfield/p_usrpri/, + <structname/proc/.<structfield/p_nativepri/, + <structname/proc/.<structfield/p_nice/, + <structname/proc/.<structfield/p_rtprio/, <varname>pscnt</varname>, <varname>slpque</varname>, <varname>itqueuebits</varname>, @@ -203,6 +178,7 @@ <varname>idqueuebits</varname>, <varname>idqueues</varname>, <varname>switchtime</varname>, + <varname>switchticks</varname> </entry> <entry> <function>setrunqueue</function>, @@ -214,7 +190,15 @@ <function>updatepri</function>, <function>maybe_resched</function>, <function>cpu_switch</function>, - <function>cpu_throw</function> + <function>cpu_throw</function>, + <function>need_resched</function>, + <function>resched_wanted</function>, + <function>clear_resched</function>, + <function>aston</function>, + <function>astoff</function>, + <function>astpending</function>, + <function>calcru</function>, + <function>proc_compare</function> </entry> </row> @@ -223,8 +207,7 @@ <entry>vm86pcb_lock</entry> <entry><quote>vm86pcb lock</quote></entry> <entry> - <constant>MTX_DEF</constant> | - <constant>MTX_COLD</constant> + <constant>MTX_DEF</constant> </entry> <entry> <varname>vm86pcb</varname> @@ -240,7 +223,7 @@ <entry><quote>Giant</quote></entry> <entry> <constant>MTX_DEF</constant> | - <constant>MTX_COLD</constant> + <constant>MTX_RECURSE</constant> </entry> <entry>nearly everything</entry> <entry>lots</entry> @@ -251,7 +234,8 @@ <entry>callout_lock</entry> <entry><quote>callout lock</quote></entry> <entry> - <constant>MTX_SPIN</constant> + <constant>MTX_SPIN</constant> | + <constant>MTX_RECURSE</constant> </entry> <entry> <varname>callfree</varname>, @@ -270,15 +254,15 @@ </table> </sect1> - <sect1 id="locking-lockmgr"> - <title>Lock Manager Locks</title> + <sect1 id="locking-sx"> + <title>Shared Exclusive Locks</title> - <para>Locks that are provided via the &man.lockmgr.9; interface - are lock manager locks. These locks are reader-writer locks and - may be held by a sleeping process.</para> + <para>These locks provide basic reader-writer type functionality + and may be held by a sleeping process. Currently they are + backed by &man.lockmgr.9;.</para> <table> - <title>&man.lockmgr.9; Lock List</title> + <title>Shared Exclusive Lock List</title> <tgroup cols="2"> <thead> @@ -321,10 +305,6 @@ variables.</para> <itemizedlist> - <listitem> - <para><varname>astpending</varname></para> - </listitem> - <listitem> <para><structname/mtx/.<structfield/mtx_lock/</para> </listitem> diff --git a/en_US.ISO8859-1/books/developers-handbook/locking/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/locking/chapter.sgml index e604ef443b..ed32ed61b5 100644 --- a/en_US.ISO8859-1/books/developers-handbook/locking/chapter.sgml +++ b/en_US.ISO8859-1/books/developers-handbook/locking/chapter.sgml @@ -79,28 +79,9 @@ </varlistentry> <varlistentry> - <term><constant>MTX_COLD</constant></term> + <term><constant>MTX_RECURSE</constant></term> <listitem> - <para>This mutex is initialized very early. Thus, it - must be declared via - <function>MUTEX_DECLARE</function>, and the - <constant>MTX_COLD</constant> flag must be passed to - <function>mtx_init</function>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>MTX_TOPHALF</constant></term> - <listitem> - <para>This spin mutex does not disable - interrupts.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>MTX_NORECURSE</constant></term> - <listitem> - <para>This mutex is not allowed to recurse.</para> + <para>This mutex is allowed to recurse.</para> </listitem> </varlistentry> </variablelist> @@ -147,7 +128,7 @@ <entry><quote>sched lock</quote></entry> <entry> <constant>MTX_SPIN</constant> | - <constant>MTX_COLD</constant> + <constant>MTX_RECURSE</constant> </entry> <entry> <varname>_gmonparam</varname>, @@ -156,42 +137,36 @@ <varname>curpriority</varname>, <structname/mtx/.<structfield/mtx_blocked/, <structname/mtx/.<structfield/mtx_contested/, - <structname/proc/.<structfield/p_contested/, - <structname/proc/.<structfield/p_blocked/, - <structname/proc/.<structfield/p_flag/ - (<constant>P_PROFIL</constant> XXX, - <constant>P_INMEM</constant>, - <constant>P_SINTR</constant>, - <constant>P_TIMEOUT</constant>, - <constant>P_SWAPINREQ</constant> XXX, - <constant>P_INMEN</constant> XXX), - <structname/proc/.<structfield/p_nice/, <structname/proc/.<structfield/p_procq/, - <structname/proc/.<structfield/p_blocked/, - <structname/proc/.<structfield/p_estcpu/, - <structname/proc/.<structfield/p_nativepri/, - <structname/proc/.<structfield/p_priority/, - <structname/proc/.<structfield/p_usrpri/, - <structname/proc/.<structfield/p_rtprio/, - <structname/proc/.<structfield/p_rqindex/, - <structname/proc/.<structfield/p_stats->p_prof/, - <structname/proc/.<structfield/p_stats->p_ru/, + <structname/proc/.<structfield/p_slpq/, + <structname/proc/.<structfield/p_sflag/ <structname/proc/.<structfield/p_stat/, + <structname/proc/.<structfield/p_estcpu/, <structname/proc/.<structfield/p_cpticks/ - <structname/proc/.<structfield/p_iticks/, - <structname/proc/.<structfield/p_uticks/, - <structname/proc/.<structfield/p_sticks/, + <structname/proc/.<structfield/p_pctcpu/, + <structname/proc/.<structfield/p_wchan/, + <structname/proc/.<structfield/p_wmesg/, <structname/proc/.<structfield/p_swtime/, <structname/proc/.<structfield/p_slptime/, <structname/proc/.<structfield/p_runtime/, - <structname/proc/.<structfield/p_pctcpu/, + <structname/proc/.<structfield/p_uu/, + <structname/proc/.<structfield/p_su/, + <structname/proc/.<structfield/p_iu/, + <structname/proc/.<structfield/p_uticks/, + <structname/proc/.<structfield/p_sticks/, + <structname/proc/.<structfield/p_iticks/, <structname/proc/.<structfield/p_oncpu/, - <structname/proc/.<structfield/p_asleep/, - <structname/proc/.<structfield/p_wchan/, - <structname/proc/.<structfield/p_wmesg/, - <structname/proc/.<structfield/p_slpq/, - <structname/proc/.<structfield/p_vmspace/ - (XXX - in <function>statclock</function>), + <structname/proc/.<structfield/p_lastcpu/, + <structname/proc/.<structfield/p_rqindex/, + <structname/proc/.<structfield/p_heldmtx/, + <structname/proc/.<structfield/p_blocked/, + <structname/proc/.<structfield/p_mtxname/, + <structname/proc/.<structfield/p_contested/, + <structname/proc/.<structfield/p_priority/, + <structname/proc/.<structfield/p_usrpri/, + <structname/proc/.<structfield/p_nativepri/, + <structname/proc/.<structfield/p_nice/, + <structname/proc/.<structfield/p_rtprio/, <varname>pscnt</varname>, <varname>slpque</varname>, <varname>itqueuebits</varname>, @@ -203,6 +178,7 @@ <varname>idqueuebits</varname>, <varname>idqueues</varname>, <varname>switchtime</varname>, + <varname>switchticks</varname> </entry> <entry> <function>setrunqueue</function>, @@ -214,7 +190,15 @@ <function>updatepri</function>, <function>maybe_resched</function>, <function>cpu_switch</function>, - <function>cpu_throw</function> + <function>cpu_throw</function>, + <function>need_resched</function>, + <function>resched_wanted</function>, + <function>clear_resched</function>, + <function>aston</function>, + <function>astoff</function>, + <function>astpending</function>, + <function>calcru</function>, + <function>proc_compare</function> </entry> </row> @@ -223,8 +207,7 @@ <entry>vm86pcb_lock</entry> <entry><quote>vm86pcb lock</quote></entry> <entry> - <constant>MTX_DEF</constant> | - <constant>MTX_COLD</constant> + <constant>MTX_DEF</constant> </entry> <entry> <varname>vm86pcb</varname> @@ -240,7 +223,7 @@ <entry><quote>Giant</quote></entry> <entry> <constant>MTX_DEF</constant> | - <constant>MTX_COLD</constant> + <constant>MTX_RECURSE</constant> </entry> <entry>nearly everything</entry> <entry>lots</entry> @@ -251,7 +234,8 @@ <entry>callout_lock</entry> <entry><quote>callout lock</quote></entry> <entry> - <constant>MTX_SPIN</constant> + <constant>MTX_SPIN</constant> | + <constant>MTX_RECURSE</constant> </entry> <entry> <varname>callfree</varname>, @@ -270,15 +254,15 @@ </table> </sect1> - <sect1 id="locking-lockmgr"> - <title>Lock Manager Locks</title> + <sect1 id="locking-sx"> + <title>Shared Exclusive Locks</title> - <para>Locks that are provided via the &man.lockmgr.9; interface - are lock manager locks. These locks are reader-writer locks and - may be held by a sleeping process.</para> + <para>These locks provide basic reader-writer type functionality + and may be held by a sleeping process. Currently they are + backed by &man.lockmgr.9;.</para> <table> - <title>&man.lockmgr.9; Lock List</title> + <title>Shared Exclusive Lock List</title> <tgroup cols="2"> <thead> @@ -321,10 +305,6 @@ variables.</para> <itemizedlist> - <listitem> - <para><varname>astpending</varname></para> - </listitem> - <listitem> <para><structname/mtx/.<structfield/mtx_lock/</para> </listitem>