Messages in this thread | | | Subject | Re: slub: use irqsafe_cpu_cmpxchg for put_cpu_partial | From | Eric Dumazet <> | Date | Wed, 23 Nov 2011 17:04:51 +0100 |
| |
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/
| |