httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@attglobal.net>
Subject Re: [PATCH] worker MPM: reuse transaction pools
Date Tue, 28 Aug 2001 14:04:19 GMT
Ryan Bloom <rbb@covalent.net> writes:

> On Tuesday 28 August 2001 04:03, Jeff Trawick wrote:
> > Aaron Bannert <aaron@clove.org> writes:
> > > This patch implements a resource pool of context pools -- a queue of
> > > available pools that the listener thread can pull from when accepting
> > > a request. The worker thread that picks up that request then uses
> > > that pool for the lifetime of that transaction, clear()ing the pool
> > > and releasing it back to what I'm calling the "pool_queue" (har har).
> > > This replaces the prior implementation that would create and destroy
> > > a transaction pool for each and every request.
> >
> > (surely I'm missing something here... need to brew some coffee...)
> >
> > It seems that you allocate a ptrans for every thread but rather than
> > store it in some thread-specific data you treat it like a shared
> > resource, storing it in a queue, which introduces serialization and
> > other overhead.
> >
> > If every thread has a ptrans, which it should, this overhead is
> > unnecessary; the ptrans shouldn't be held in a shared data structure.
> 
> How do you determine which ptrans to use unless it is a shared
> resource?  The ptrans needs to be accessible by the listener to call
> accept with.  If it is local to the worker thread, then you can't use it
> in the listener.

Yes, that is true...  I didn't even remember the code in my own MPM
which has an accept thread and does essentially the same thing.

-- 
Jeff Trawick | trawick@attglobal.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Mime
View raw message