[lkml]   [2010]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Defrag in shrinkers (was Re: [PATCH 0/5] Per-superblock shrinkers)
    On Fri, May 14, 2010 at 12:46:52PM -0500, Christoph Lameter wrote:
    > Would it also be possible to add some defragmentation logic when you
    > revise the shrinkers? Here is a prototype patch that would allow you to
    > determine the other objects sitting in the same page as a given object.
    > With that I hope that you have enough information to determine if its
    > worth to evict the other objects as well to reclaim the slab page.

    I'll have a think about how this might fit in - the real problem is
    when the list returns objects that belong to a different superblock.
    We can only safely check whether the object belongs to the current
    superblock - to check if it belongs to a different sb we a lot of
    locks and reference counting to juggle. That would require
    re-introducing all the muck (and then some) that this patchset
    removes from the shrinkers.

    Perhaps just freeing the objects that belong to the current sb would
    be sufficient to realise significant improvements (will be fine for
    systems that only have one active or dominant filesystem), but i
    think some experimentation would be needed.

    The that brings us to test cases - we need a good one. I think we
    need to re-evaluate where we stand with regard to slab fragmentation
    (which probably hasn't changed much), and we need to be able to
    quantify the amount of improvement the increase in complexity will
    provide. I don't have anything close to hand to generate such
    fragmentation, so it might take a little time to write a test that
    does the IO patterns I know will generate problems...


    Dave Chinner

     \ /
      Last update: 2010-05-15 03:19    [W:0.026 / U:1.288 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site