lkml.org 
[lkml]   [2011]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [slub p4 6/7] slub: per cpu cache for partial pages
    From
    Date
    On Wed, Aug 10, 2011 at 5:12 AM, Christoph Lameter <cl@linux.com> wrote:
    > Allow filling out the rest of the kmem_cache_cpu cacheline with pointers to
    > partial pages. The partial page list is used in slab_free() to avoid
    > per node lock taking.
    >
    > In __slab_alloc() we can then take multiple partial pages off the per
    > node partial list in one go reducing node lock pressure.
    >
    > We can also use the per cpu partial list in slab_alloc() to avoid scanning
    > partial lists for pages with free objects.
    >
    > The main effect of a per cpu partial list is that the per node list_lock
    > is taken for batches of partial pages instead of individual ones.
    >
    > Potential future enhancements:
    >
    > 1. The pickup from the partial list could be perhaps be done without disabling
    > interrupts with some work. The free path already puts the page into the
    > per cpu partial list without disabling interrupts.

    Nice patches!

    Could you share possible ways for this potential enhancement?

    Thanks,
    Lin Ming

    >
    > 2. __slab_free() may have some code paths that could use optimization.




    \
     
     \ /
      Last update: 2011-08-24 09:29    [W:0.020 / U:29.304 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site