On Mon, Mar 2, 2009 at 4:17 PM, <[email protected]> wrote: > Author: trawick > Date: Mon Mar 2 21:17:43 2009 > New Revision: 749438 > > URL: http://svn.apache.org/viewvc?rev=749438&view=rev > Log: > ab: Fix maintenance of the pollset to resolve EINPROGRESS errors > with kqueue (BSD/OS X) and excessive CPU with event ports (Solaris).
I tested with APR trunk on Linux and OpenSolaris, and APR 1.4.x on OS X. Slightly more CPU is now consumed with the select() backend on Linux and OpenSolaris (not surprising, since that backend didn't need the pollset to be so carefully maintained). There's probably similar degradation with poll(), but it seemed a tossup in my casual checks of system and user space CPU. It looked to me that less CPU is now used with the epoll backend. The former "excessive" CPU with event ports was so by a factor of 4 or 5, almost all in user space. Thanks to Mladen for drastically reducing the number of required builds for testing different pollset backends! I get a small percentage of length mismatches on OS X with keepalive mode, but that happens for me with the 2.0.x branch on OS X as well. I also see an occasional timeout failure on OS X. https was only lightly tested. (I don't really like ab beyond the fact that it is always in reach, but it was a nice pollset testcase.)
