Sounds good.  I will look forward to trying out the bucket_max_free()
stuff as soon as you get it committed.  The memory growth is the main
issue here.   We have seen a problem with this especially when reading
piped data from a CGI.

Brad

Brad Nicholes
Senior Software Engineer
Novell, Inc., the leading provider of Net business solutions
http://www.novell.com 

>>> [EMAIL PROTECTED] Thursday, June 19, 2003 8:30:39 PM >>>
On Thu, 19 Jun 2003, Brad Nicholes wrote:

>    After taking a look at how the different MPMs are implemented, it
> appears that almost all of the MPMs create a bucket allocator and a
> transaction pool for each worker thread or process.  The transaction
> pool is cleared after each request but the bucket allocator is not
> cleared or cleaned up until the worker thread or process goes away. 
Is
> there a reason why the bucket allocator is never cleaned up?

Yes.  Allocating memory for the bucket allocator takes time.  The goal
here is that we should reach after just a connection or two a
steady-state
of memory usage, with additional allocations (via malloc() I mean)
being
very infrequent.

That said, there is a problem: the bucket_max_free() stuff /still/
isn't
committed.  Why not?  Because I keep forgetting about it.  I'm sure
Jean-Jacques would cheer if I'd get around to it.  :)  It's on my
schedule
for the weekend.

Once that's done, then the fact that the same bucket allocator is used
will continue to be the benefit that it is without causing the
potential
problems of potential memory growth over time to which I believe
you're
alluding.

Sound about right?

--Cliff

Reply via email to