Date: Thu, 5 Sep 2019 17:28:51 +0000 (UTC) From: Benedict Reuschling <bcr@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r53371 - head/en_US.ISO8859-1/books/arch-handbook/locking Message-ID: <201909051728.x85HSpG1019119@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bcr Date: Thu Sep 5 17:28:51 2019 New Revision: 53371 URL: https://svnweb.freebsd.org/changeset/doc/53371 Log: Fix errors reported by textproc/igor: - wrap long line - use tabs istead of spaces - straggling closing tags (like </entry>) - add blank line after <tag> on previous line Event: vBSDcon FreeBSD Hackathon Modified: head/en_US.ISO8859-1/books/arch-handbook/locking/chapter.xml Modified: head/en_US.ISO8859-1/books/arch-handbook/locking/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/arch-handbook/locking/chapter.xml Thu Sep 5 16:59:08 2019 (r53370) +++ head/en_US.ISO8859-1/books/arch-handbook/locking/chapter.xml Thu Sep 5 17:28:51 2019 (r53371) @@ -5,12 +5,17 @@ $FreeBSD$ --> -<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="locking"> +<chapter xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" + xml:id="locking"> <title>Locking Notes</title> - <indexterm><primary>SMP Next Generation Project</primary></indexterm> + <indexterm> + <primary>SMP Next Generation Project</primary> + </indexterm> + <para><emphasis>This chapter is maintained by the FreeBSD SMP Next - Generation Project.</emphasis></para> + Generation Project.</emphasis></para> <indexterm><primary>locking</primary></indexterm> <indexterm><primary>multi-processing</primary></indexterm> @@ -41,7 +46,7 @@ <para>Each mutex has several properties of interest:</para> <variablelist> - <varlistentry> + <varlistentry> <term>Variable Name</term> <listitem> <para>The name of the <type>struct mtx</type> variable in @@ -97,8 +102,9 @@ <listitem> <para>A list of data structures or data structure members that this entry protects. For data structure members, the - name will be in the form of - <varname remap="structname">structure name</varname>.<varname remap="structfield">member name</varname>.</para> + name will be in the form of <varname + remap="structname">structure name</varname>.<varname + remap="structfield">member name</varname>.</para> </listitem> </varlistentry> @@ -114,17 +120,25 @@ <table frame="all" colsep="1" rowsep="1" pgwide="1"> <title>Mutex List</title> - <indexterm><primary>locks</primary> - <secondary>sched_lock</secondary></indexterm> + <indexterm> + <primary>locks</primary> + <secondary>sched_lock</secondary> + </indexterm> - <indexterm><primary>locks</primary> - <secondary>vm86pcb_lock</secondary></indexterm> + <indexterm> + <primary>locks</primary> + <secondary>vm86pcb_lock</secondary> + </indexterm> - <indexterm><primary>locks</primary> - <secondary>Giant</secondary></indexterm> + <indexterm> + <primary>locks</primary> + <secondary>Giant</secondary> + </indexterm> - <indexterm><primary>locks</primary> - <secondary>callout_lock</secondary></indexterm> + <indexterm> + <primary>locks</primary> + <secondary>callout_lock</secondary> + </indexterm> <tgroup cols="5"> <thead> @@ -141,48 +155,80 @@ <tbody> <row> <entry>sched_lock</entry> - <entry><quote>sched lock</quote></entry> <entry> + <quote>sched lock</quote></entry> + <entry> <constant>MTX_SPIN</constant> | - <constant>MTX_RECURSE</constant> - </entry> + <constant>MTX_RECURSE</constant></entry> <entry> <varname>_gmonparam</varname>, <varname>cnt.v_swtch</varname>, <varname>cp_time</varname>, <varname>curpriority</varname>, - <varname remap="structname">mtx</varname>.<varname remap="structfield">mtx_blocked</varname>, - <varname remap="structname">mtx</varname>.<varname remap="structfield">mtx_contested</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_procq</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_slpq</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_sflag</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_stat</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_estcpu</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_cpticks</varname> - <varname remap="structname">proc</varname>.<varname remap="structfield">p_pctcpu</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_wchan</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_wmesg</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_swtime</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_slptime</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_runtime</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_uu</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_su</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_iu</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_uticks</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_sticks</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_iticks</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_oncpu</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_lastcpu</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_rqindex</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_heldmtx</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_blocked</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_mtxname</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_contested</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_priority</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_usrpri</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_nativepri</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_nice</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_rtprio</varname>, + <varname remap="structname">mtx</varname>.<varname + remap="structfield">mtx_blocked</varname>, + <varname remap="structname">mtx</varname>.<varname + remap="structfield">mtx_contested</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_procq</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_slpq</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_sflag</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_stat</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_estcpu</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_cpticks</varname> + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_pctcpu</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_wchan</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_wmesg</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_swtime</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_slptime</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_runtime</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_uu</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_su</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_iu</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_uticks</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_sticks</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_iticks</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_oncpu</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_lastcpu</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_rqindex</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_heldmtx</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_blocked</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_mtxname</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_contested</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_priority</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_usrpri</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_nativepri</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_nice</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_rtprio</varname>, <varname>pscnt</varname>, <varname>slpque</varname>, <varname>itqueuebits</varname>, @@ -194,8 +240,7 @@ <varname>idqueuebits</varname>, <varname>idqueues</varname>, <varname>switchtime</varname>, - <varname>switchticks</varname> - </entry> + <varname>switchticks</varname></entry> <entry> <function>setrunqueue</function>, <function>remrunqueue</function>, @@ -214,8 +259,7 @@ <function>astoff</function>, <function>astpending</function>, <function>calcru</function>, - <function>proc_compare</function> - </entry> + <function>proc_compare</function></entry> </row> <!-- The vm86 pcb lock --> @@ -223,14 +267,11 @@ <entry>vm86pcb_lock</entry> <entry><quote>vm86pcb lock</quote></entry> <entry> - <constant>MTX_DEF</constant> - </entry> + <constant>MTX_DEF</constant></entry> <entry> - <varname>vm86pcb</varname> - </entry> + <varname>vm86pcb</varname></entry> <entry> - <function>vm86_bioscall</function> - </entry> + <function>vm86_bioscall</function></entry> </row> <!-- Giant --> @@ -239,8 +280,7 @@ <entry><quote>Giant</quote></entry> <entry> <constant>MTX_DEF</constant> | - <constant>MTX_RECURSE</constant> - </entry> + <constant>MTX_RECURSE</constant></entry> <entry>nearly everything</entry> <entry>lots</entry> </row> @@ -251,19 +291,18 @@ <entry><quote>callout lock</quote></entry> <entry> <constant>MTX_SPIN</constant> | - <constant>MTX_RECURSE</constant> - </entry> + <constant>MTX_RECURSE</constant></entry> <entry> <varname>callfree</varname>, <varname>callwheel</varname>, <varname>nextsoftcheck</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_itcallout</varname>, - <varname remap="structname">proc</varname>.<varname remap="structfield">p_slpcallout</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_itcallout</varname>, + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_slpcallout</varname>, <varname>softticks</varname>, - <varname>ticks</varname> - </entry> - <entry> - </entry> + <varname>ticks</varname></entry> + <entry></entry> </row> </tbody> </tgroup> @@ -276,16 +315,23 @@ <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> - <indexterm><primary>locks</primary> - <secondary>shared exclusive</secondary></indexterm> + <indexterm> + <primary>locks</primary> + <secondary>shared exclusive</secondary> + </indexterm> <table> <title>Shared Exclusive Lock List</title> - <indexterm><primary>locks</primary> - <secondary>allproc_lock</secondary></indexterm> - <indexterm><primary>locks</primary> - <secondary>proctree_lock</secondary></indexterm> + <indexterm> + <primary>locks</primary> + <secondary>allproc_lock</secondary> + </indexterm> + <indexterm> + <primary>locks</primary> + <secondary>proctree_lock</secondary> + </indexterm> + <tgroup cols="2"> <thead> <row> @@ -300,17 +346,20 @@ <varname>allproc</varname> <varname>zombproc</varname> <varname>pidhashtbl</varname> - <varname remap="structname">proc</varname>.<varname remap="structfield">p_list</varname> - <varname remap="structname">proc</varname>.<varname remap="structfield">p_hash</varname> - <varname>nextpid</varname> - </entry> + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_list</varname> + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_hash</varname> + <varname>nextpid</varname></entry> </row> + <row> <entry><varname>proctree_lock</varname></entry> <entry> - <varname remap="structname">proc</varname>.<varname remap="structfield">p_children</varname> - <varname remap="structname">proc</varname>.<varname remap="structfield">p_sibling</varname> - </entry> + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_children</varname> + <varname remap="structname">proc</varname>.<varname + remap="structfield">p_sibling</varname></entry> </row> </tbody> </tgroup> @@ -320,7 +369,9 @@ <sect1 xml:id="locking-atomic"> <title>Atomically Protected Variables</title> - <indexterm><primary>atomically protected variables</primary></indexterm> + <indexterm> + <primary>atomically protected variables</primary> + </indexterm> <para>An atomically protected variable is a special variable that is not protected by an explicit lock. Instead, all data @@ -332,7 +383,8 @@ <itemizedlist> <listitem> - <para><varname remap="structname">mtx</varname>.<varname remap="structfield">mtx_lock</varname></para> + <para><varname remap="structname">mtx</varname>.<varname + remap="structfield">mtx_lock</varname></para> </listitem> </itemizedlist> </sect1>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201909051728.x85HSpG1019119>