Sander Striker wrote:

Hi,

This is my second go at the pools code.
I incorporated some suggestions made by Brian Pane.

Please review,

Sander

PS. The debug code will come back, but in a different
   incarnation.  I need some time to do that without
   making the code unreadable.


Thanks, I'll post some numbers once we have a chance to benchmark this.

Sander's pool code and my pool patch from yesterday use
mostly the same strategy to reduce mutex contention within
pools:
 * Support for thread-private free block lists
 * Support for tagging pools as single-threaded, to
   enable to pool internals to skip some locking
   operations

But Sander's code has one additional optimization that
mine doesn't:
 * Dedicated mutexes for thread-private free block lists,
   rather than the one global mutex

This extra optimization might be a big win for the worker MPM,
where having a lot of threads trying to lock the global mutex has
been a performance problem.

BTW, I don't expect that either pool patch alone will
eliminate the mutex overhead that plagues the worker
MPM right now, but they might reduce the problem enough
to make the performance "good enough" for Apache 2.0 GA.
We can find out for sure with some benchmarks.

--Brian





Reply via email to