lkml.org 
[lkml]   [2011]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: slub: use irqsafe_cpu_cmpxchg for put_cpu_partial
    From
    Date
    Le mercredi 23 novembre 2011 à 09:14 -0600, Christoph Lameter a écrit :

    > I think he only tested the patch that he showed us. Here is the patch
    > cleaned up. Do you Want me to feed you the debug fixes patch by patch as
    > well?
    >
    > Subject: slub: use irqsafe_cpu_cmpxchg for put_cpu_partial
    >
    > The cmpxchg must be irq safe. The fallback for this_cpu_cmpxchg only
    > disables preemption which results in per cpu partial page operation
    > potentially failing on non x86 platforms.
    >
    > Signed-off-by: Christoph Lameter <cl@linux.com>
    >
    > ---
    > mm/slub.c | 2 +-
    > 1 file changed, 1 insertion(+), 1 deletion(-)
    >
    > Index: linux-2.6/mm/slub.c
    > ===================================================================
    > --- linux-2.6.orig/mm/slub.c 2011-11-23 09:10:48.000000000 -0600
    > +++ linux-2.6/mm/slub.c 2011-11-23 09:10:57.000000000 -0600
    > @@ -1969,7 +1969,7 @@ int put_cpu_partial(struct kmem_cache *s
    > page->pobjects = pobjects;
    > page->next = oldpage;
    >
    > - } while (this_cpu_cmpxchg(s->cpu_slab->partial, oldpage, page) != oldpage);
    > + } while (irqsafe_cpu_cmpxchg(s->cpu_slab->partial, oldpage, page) != oldpage);
    > stat(s, CPU_PARTIAL_FREE);
    > return pobjects;
    > }

    Acked-by: Eric Dumazet <eric.dumazet@gmail.com>

    Thanks !


    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-11-23 17:07    [W:0.021 / U:0.716 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site