On Thursday 22 November 2001 11:57 pm, Brian Pane wrote:
> The worker MPM currently creates and destroys a
> ptrans pool for each connection.  This is somewhat
> of a performance bottleneck due to the mutex locking
> in apr_pool_destroy().
>
> We could avoid this problem by creating a persistent
> pool per worker thread and doing apr_pool_clear() instead
> of apr_pool_destroy.  But I'm guessing that there's a
> reason why the code doesn't do that already.  Can
> anyone comment on the rationale for the current design?
>
> If we created a persistent pool in each worker thread,
> we might also be able to eliminate the locking in
> new_block() by enhancing the pool code to use a
> thread-private free block list.  This would eliminate
> essentially all the mutex operations during request
> processing.

We tried adding a pool per worker-thread, but the code ended up being much
more complex than today's logic.

What we really need to do is just remove the mutexes from the pools.  We already
state that each thread must have it's own pool, so this shouldn't be too hard
to do.

Ryan

______________________________________________________________
Ryan Bloom                              [EMAIL PROTECTED]
Covalent Technologies                   [EMAIL PROTECTED]
--------------------------------------------------------------

Reply via email to