[Moving to [EMAIL PROTECTED] > From: Cliff Woolley [mailto:[EMAIL PROTECTED] > Sent: 09 September 2002 22:42
> On Mon, 9 Sep 2002, Brad Nicholes wrote: > > > Has anybody else noticed a memory leak when requesting pages less > > than 8k? If I repeatedly request pages less than 8k I have noticed that > > apr_bucket_alloc() calls allocator_alloc() which seems to continuously > > malloc() memory rather than finding it in the free list. The reason why > > is because allocator->max_index seems to always be 0 and contain no free > > nodes. If I request pages greater than 8k, allocator->max_index appears > > to be 2. I can't seem to figure out why the bucket allocator passed in > > by apr_bucket_alloc always contains a max_index of 0 on small page > > requests. Any ideas? > > Ughuuhhhhhh ... good question! I'll let Sander take a stab at that one > before I try to dig in and see what's going on... but I will do so if no > answers are forthcoming in the near-term. I think max_index is misunderstood. allocator->max_index is the index of the biggest block available. index = block_size / boundary_size - 1, where boundary_size is 4096. Keeping track of max_index prevents us from scanning the entire array of free lists (of different block sizes). Anyhow, I'm still investigating. Haven't found the/a problem yet in the code. But then again, I might be missing the obvious. Extra eyes welcome. Sander