* Christoph Lameter ([EMAIL PROTECTED]) wrote:
> 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.

Good point. the current CPU is not updated at the beginning of the
slow path.

I'll post the updated patchset. Comments are welcome, especially about
the naming scheme which is currently awkward.

Mathieu

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to