lkml.org 
[lkml]   [2009]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [patch] SLQB slab allocator
    Date
    On Saturday 24 January 2009 03:10:17 Nick Piggin wrote:
    > On Fri, Jan 23, 2009 at 10:52:43AM -0500, Christoph Lameter wrote:
    > > On Fri, 23 Jan 2009, Nick Piggin wrote:
    > > > > Typically we traverse lists of objects that are in the same slab
    > > > > cache.
    > > >
    > > > Very often that is not the case. And the price you pay for that is that
    > > > you have to drain and switch freelists whenever you encounter an object
    > > > that is not on the same page.
    > >
    > > SLUB can directly free an object to any slab page. "Queuing" on free via
    > > the per cpu slab is only possible if the object came from that per cpu
    > > slab. This is typically only the case for objects that were recently
    > > allocated.
    >
    > Ah yes ok that's right. But then you don't get LIFO allocation
    > behaviour for those cases.

    And actually really this all just stems from conceptually in fact you
    _do_ switch to a different queue (from the one being allocated from)
    to free the object if it is on a different page. Because you have a
    set of queues (a queue per-page). So freeing to a different queue is
    where you lose LIFO property.



    \
     
     \ /
      Last update: 2009-01-23 18:13    [W:0.046 / U:0.264 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site