On Thu, 14 Jan 2016 14:24:13 +0900 Joonsoo Kim <[email protected]> wrote:

> This patchset implements new freed object management way, that is,
> OBJFREELIST_SLAB. Purpose of it is to reduce memory overhead in SLAB.
> 
> SLAB needs a array to manage freed objects in a slab. If there is
> leftover after objects are packed into a slab, we can use it as
> a management array, and, in this case, there is no memory waste.
> But, in the other cases, we need to allocate extra memory for
> a management array or utilize dedicated internal memory in a slab for it.
> Both cases causes memory waste so it's not good.
> 
> With this patchset, freed object itself can be used for a management
> array. So, memory waste could be reduced. Detailed idea and numbers
> are described in last patch's commit description. Please refer it.
> 
> In fact, I tested another idea implementing OBJFREELIST_SLAB with
> extendable linked array through another freed object. It can remove
> memory waste completely but it causes more computational overhead
> in critical lock path and it seems that overhead outweigh benefit.
> So, this patchset doesn't include it. I will attach prototype just for
> a reference.

It appears that this patchset is perhaps due a couple of touchups from
Christoph's comments.  I'll grab it as-is as I want to get an mmotm
into linux-next tomorrow then vanish for a few days.

Reply via email to