Re: [patch] SLQB slab allocator

Pekka Enberg
2009-02-03T18:47:59Z

On Tue, Feb 3, 2009 at 8:42 PM, Pekka Enberg <penberg@cs.helsinki.fi> wrote:
>> It will grow unconstrained if you elect to defer queue processing. That
>> was what we discussed.
>
> Well, the slab_hiwater() check in __slab_free() of mm/slqb.c will cap
> the size of the queue. But we do the same thing in SLAB with
> alien->limit in cache_free_alien() and ac->limit in __cache_free(). So
> I'm not sure what you mean when you say that the queues will "grow
> unconstrained" (in either of the allocators). Hmm?

That said, I can imagine a worst-case scenario where a queue with N
objects is pinning N mostly empty slabs. As soon as we hit the
periodical flush, we might need to do tons of work. That's pretty hard
to control with watermarks as well as the scenario is solely dependent
on allocation/free patterns.