httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From n.@apache.org
Subject cvs commit: httpd-2.0/docs/manual/misc perf-tuning.html.en perf-tuning.xml
Date Wed, 23 Apr 2003 18:30:59 GMT
nd          2003/04/23 11:30:59

  Modified:    docs/manual/misc Tag: APACHE_2_0_BRANCH perf-tuning.html.en
                        perf-tuning.xml
  Log:
  this is not 2.1 specific.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.3.2.6   +56 -0     httpd-2.0/docs/manual/misc/perf-tuning.html.en
  
  Index: perf-tuning.html.en
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/misc/perf-tuning.html.en,v
  retrieving revision 1.3.2.5
  retrieving revision 1.3.2.6
  diff -u -r1.3.2.5 -r1.3.2.6
  --- perf-tuning.html.en	27 Mar 2003 00:41:09 -0000	1.3.2.5
  +++ perf-tuning.html.en	23 Apr 2003 18:30:59 -0000	1.3.2.6
  @@ -464,6 +464,62 @@
   
       
   
  +    <h3>Atomic Operations</h3>
  +
  +      
  +
  +      <p>Some modules, such as <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
and
  +      recent development builds of the worker MPM, use APR's
  +      atomic API.  This API provides atomic operations that can
  +      be used for lightweight thread synchronization.</p>
  +
  +      <p>By default, APR implements these operations using the
  +      most efficient mechanism available on each target
  +      OS/CPU platform.  Many modern CPUs, for example, have
  +      an instruction that does an atomic compare-and-swap (CAS)
  +      operation in hardware.  On some platforms, however, APR
  +      defaults to a slower, mutex-based implementation of the
  +      atomic API in order to ensure compatibility with older
  +      CPU models that lack such instructions.  If you are
  +      building Apache for one of these platforms, and you plan
  +      to run only on newer CPUs, you can select a faster atomic
  +      implementation at build time by configuring Apache with
  +      the <code>--enable-nonportable-atomics</code> option:</p>
  +
  +      <div class="example"><p><code>
  +        ./buildconf<br />
  +        ./configure --with-mpm=worker --enable-nonportable-atomics=yes
  +      </code></p></div>
  +
  +      <p>The <code>--enable-nonportable-atomics</code> option is
  +      relevant for the following platforms:</p>
  +
  +      <ul>
  +
  +        <li>Solaris on SPARC<br />
  +            By default, APR uses mutex-based atomics on Solaris/SPARC.
  +            If you configure with <code>--enable-nonportable-atomics</code>,
  +            however, APR generates code that uses a SPARC v8plus opcode for
  +            fast hardware compare-and-swap.  If you configure Apache with
  +            this option, the atomic operations will be more efficient
  +            (allowing for lower CPU utilization and higher concurrency),
  +            but the resulting executable will run only on UltraSPARC
  +            chips.
  +        </li>
  +
  +        <li>Linux on x86<br />
  +            By default, APR uses mutex-based atomics on Linux.  If you
  +            configure with <code>--enable-nonportable-atomics</code>,
  +            however, APR generates code that uses a 486 opcode for fast
  +            hardware compare-and-swap.  This will result in more efficient
  +            atomic operations, but the resulting executable will run only
  +            on 486 and later chips (and not on 386).
  +        </li>
  +
  +      </ul>
  +
  +    
  +
       <h3>mod_status and ExtendedStatus On</h3>
   
         
  
  
  
  1.3.2.8   +56 -0     httpd-2.0/docs/manual/misc/perf-tuning.xml
  
  Index: perf-tuning.xml
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/misc/perf-tuning.xml,v
  retrieving revision 1.3.2.7
  retrieving revision 1.3.2.8
  diff -u -r1.3.2.7 -r1.3.2.8
  --- perf-tuning.xml	16 Apr 2003 00:22:47 -0000	1.3.2.7
  +++ perf-tuning.xml	23 Apr 2003 18:30:59 -0000	1.3.2.8
  @@ -483,6 +483,62 @@
   
       <section>
   
  +      <title>Atomic Operations</title>
  +
  +      <p>Some modules, such as <module>mod_cache</module> and
  +      recent development builds of the worker MPM, use APR's
  +      atomic API.  This API provides atomic operations that can
  +      be used for lightweight thread synchronization.</p>
  +
  +      <p>By default, APR implements these operations using the
  +      most efficient mechanism available on each target
  +      OS/CPU platform.  Many modern CPUs, for example, have
  +      an instruction that does an atomic compare-and-swap (CAS)
  +      operation in hardware.  On some platforms, however, APR
  +      defaults to a slower, mutex-based implementation of the
  +      atomic API in order to ensure compatibility with older
  +      CPU models that lack such instructions.  If you are
  +      building Apache for one of these platforms, and you plan
  +      to run only on newer CPUs, you can select a faster atomic
  +      implementation at build time by configuring Apache with
  +      the <code>--enable-nonportable-atomics</code> option:</p>
  +
  +      <example>
  +        ./buildconf<br />
  +        ./configure --with-mpm=worker --enable-nonportable-atomics=yes
  +      </example>
  +
  +      <p>The <code>--enable-nonportable-atomics</code> option is
  +      relevant for the following platforms:</p>
  +
  +      <ul>
  +
  +        <li>Solaris on SPARC<br />
  +            By default, APR uses mutex-based atomics on Solaris/SPARC.
  +            If you configure with <code>--enable-nonportable-atomics</code>,
  +            however, APR generates code that uses a SPARC v8plus opcode for
  +            fast hardware compare-and-swap.  If you configure Apache with
  +            this option, the atomic operations will be more efficient
  +            (allowing for lower CPU utilization and higher concurrency),
  +            but the resulting executable will run only on UltraSPARC
  +            chips.
  +        </li>
  +
  +        <li>Linux on x86<br />
  +            By default, APR uses mutex-based atomics on Linux.  If you
  +            configure with <code>--enable-nonportable-atomics</code>,
  +            however, APR generates code that uses a 486 opcode for fast
  +            hardware compare-and-swap.  This will result in more efficient
  +            atomic operations, but the resulting executable will run only
  +            on 486 and later chips (and not on 386).
  +        </li>
  +
  +      </ul>
  +
  +    </section>
  +
  +    <section>
  +
         <title>mod_status and ExtendedStatus On</title>
   
         <p>If you include <module>mod_status</module> and you also set
  
  
  

Mime
View raw message