jim 01/09/04 11:16:26 Modified: htdocs/manual server-wide.html.en htdocs/manual/misc perf-tuning.html htdocs/manual/mod core.html.en Log: Document the AcceptMutex directive Revision Changes Path 1.9 +5 -1 httpd-docs-1.3/htdocs/manual/server-wide.html.en Index: server-wide.html.en =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/server-wide.html.en,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- server-wide.html.en 2001/07/13 07:37:13 1.8 +++ server-wide.html.en 2001/09/04 18:16:26 1.9 @@ -155,6 +155,7 @@ <a href="mod/core.html#listen">Listen</a><br> <a href="mod/core.html#listenbacklog">ListenBackLog</a><br> <a href="mod/core.html#acceptfilter">AcceptFilter</a><br> +<a href="mod/core.html#acceptmutex">AcceptMutex</a><br> <a href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a><br> <a href="mod/core.html#port">Port</a><br> <a href="mod/core.html#sendbuffersize">SendBufferSize</a><br> @@ -180,7 +181,10 @@ <code>TimeOut</code> directives are used to adjust how Apache interacts with the network.<code>AcceptFilter</code> controls a BSD specific filter optimization. See the BSD section on -<a href="misc/perf-bsd44.html">performance hints</a> documentation.</p> +<a href="misc/perf-bsd44.html">performance hints</a> documentation. +<code>AcceptMutex</code> controls which accept mutex method will +be used. For an explanation of what this is and why it's needed, +see the <a href="misc/perf-tuning.html">performance tuning guide</a> </p> <p>The <code>KeepAlive</code>, <code>KeepAliveTimeout</code>, and <code>MaxKeepAliveRequests</code> directives are used to 1.25 +10 -7 httpd-docs-1.3/htdocs/manual/misc/perf-tuning.html Index: perf-tuning.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/misc/perf-tuning.html,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- perf-tuning.html 2000/11/14 22:17:15 1.24 +++ perf-tuning.html 2001/09/04 18:16:26 1.25 @@ -367,15 +367,15 @@ to use multiple <CODE>Listen</CODE> directives. <DL> -<DT><CODE>USE_FLOCK_SERIALIZED_ACCEPT</CODE> +<DT><CODE>HAVE_FLOCK_SERIALIZED_ACCEPT</CODE> <DD>This method uses the <CODE>flock(2)</CODE> system call to lock a lock file (located by the <CODE>LockFile</CODE> directive). -<DT><CODE>USE_FCNTL_SERIALIZED_ACCEPT</CODE> +<DT><CODE>HAVE_FCNTL_SERIALIZED_ACCEPT</CODE> <DD>This method uses the <CODE>fcntl(2)</CODE> system call to lock a lock file (located by the <CODE>LockFile</CODE> directive). -<DT><CODE>USE_SYSVSEM_SERIALIZED_ACCEPT</CODE> +<DT><CODE>HAVE_SYSVSEM_SERIALIZED_ACCEPT</CODE> <DD>(1.3 or later) This method uses SysV-style semaphores to implement the mutex. Unfortunately SysV-style semaphores have some bad side-effects. One is that it's possible Apache will die without cleaning up the semaphore @@ -386,7 +386,7 @@ on any architecture except IRIX (where the previous two are prohibitively expensive on most IRIX boxes). -<DT><CODE>USE_USLOCK_SERIALIZED_ACCEPT</CODE> +<DT><CODE>HAVE_USLOCK_SERIALIZED_ACCEPT</CODE> <DD>(1.3 or later) This method is only available on IRIX, and uses <CODE>usconfig(2)</CODE> to create a mutex. While this method avoids the hassles of SysV-style semaphores, it is not the default for IRIX. @@ -395,10 +395,10 @@ code. On multi-processor IRIX boxes the uslock code is an order of magnitude faster than the SysV-semaphore code. Kind of a messed up situation. So if you're using a multiprocessor IRIX box then you should rebuild your -webserver with <CODE>-DUSE_USLOCK_SERIALIZED_ACCEPT</CODE> on the +webserver with <CODE>-DHAVE_USLOCK_SERIALIZED_ACCEPT</CODE> on the <CODE>EXTRA_CFLAGS</CODE>. -<DT><CODE>USE_PTHREAD_SERIALIZED_ACCEPT</CODE> +<DT><CODE>HAVE_PTHREAD_SERIALIZED_ACCEPT</CODE> <DD>(1.3 or later) This method uses POSIX mutexes and should work on any architecture implementing the full POSIX threads specification, however appears to only work on Solaris (2.5 or later), and even then @@ -409,7 +409,10 @@ <P>If your system has another method of serialization which isn't in the above list then it may be worthwhile adding code for it (and submitting -a patch back to Apache). +a patch back to Apache). The above <code>HAVE_METHOD_SERIALIZED_ACCEPT</code> +defines specify which method is available and works on the platform (you +can have more than one); <code>USE_METHOD_SERIALIZED_ACCEPT</code> is +used to specify the default method (see the <code>AcceptMutex</code> directive). <P>Another solution that has been considered but never implemented is to partially serialize the loop -- that is, let in a certain number 1.195 +37 -0 httpd-docs-1.3/htdocs/manual/mod/core.html.en Index: core.html.en =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/mod/core.html.en,v retrieving revision 1.194 retrieving revision 1.195 diff -u -r1.194 -r1.195 --- core.html.en 2001/08/22 23:12:12 1.194 +++ core.html.en 2001/09/04 18:16:26 1.195 @@ -22,6 +22,7 @@ <H2>Directives</H2> <UL> <LI><A HREF="#acceptfilter">AcceptFilter</A> +<LI><A HREF="#acceptmutex">AcceptMutex</A> <LI><A HREF="#accessconfig">AccessConfig</A> <LI><A HREF="#accessfilename">AccessFileName</A> <LI><A HREF="#adddefaultcharset">AddDefaultCharset</A> @@ -137,6 +138,42 @@ wether or not SO_ACCEPTFILTER was defined during the compile. </p> + +<H2><A NAME="acceptmutex">AcceptMutex directive</A></H2> +<!--%plaintext <?INDEX {\tt AcceptMutex} directive> --> +<A + HREF="directive-dict.html#Syntax" + REL="Help" +><STRONG>Syntax:</STRONG></A> AcceptMutex uslock|pthread|sysvsem|fcntl|flock|os2sem|tpfcore|none|default<BR> +<A + HREF="directive-dict.html#Default" + REL="Help" +><STRONG>Default:</STRONG></A> <CODE>AccceptMutex default</CODE><BR> +<A + HREF="directive-dict.html#Context" + REL="Help" +><STRONG>Context:</STRONG></A> server config<BR> +<A + HREF="directive-dict.html#Status" + REL="Help" +><STRONG>Status:</STRONG></A> core<P> + +<p> +<code>AcceptMutex</code> controls which accept() mutex method +Apache will use. Not all methods are available on all platforms, +since the suite of methods is determined at compile-time. For +a list of which methods are available for your particular build, +the <code>httpd -L</code> command line option will list them out. +</p> +<p> +The compile time flags <code>-D HAVE_METHOD_SERIALIZED_ACCEPT</code> can be +used to add different methods to your build, or one can edit the +<code>include/ap_config.h</code> file for your particular platform. +</p> +<p> +See the <a href="misc/perf-tuning.html">performance tuning guide</a> +for more information. +</p> <H2><A NAME="accessconfig">AccessConfig directive</A></H2> <!--%plaintext <?INDEX {\tt AccessConfig} directive> -->
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]