Re: [PATCH] slub - Use local_t protection

Christoph Lameter
2007-09-04T20:45:41Z

On Tue, 4 Sep 2007, Mathieu Desnoyers wrote:

> @@ -1566,12 +1565,13 @@ redo:
> object[c->offset]) != object))
> goto redo;
>
> - put_cpu();
> + local_exit(flags);
> if (unlikely((gfpflags & __GFP_ZERO)))
> memset(object, 0, c->objsize);
>
> return object;
> slow:
> + local_exit(flags);

Here we can be rescheduled to another processors.

> return __slab_alloc(s, gfpflags, node, addr, c)

c may point to the wrong processor.