Re: [PATCH] slub - Use local_t protection

From: Mathieu Desnoyers <mathieu.desnoyers_at_polymtl.ca>
Date: 2007-09-05 23:03:44
* Christoph Lameter (clameter@sgi.com) 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-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Wed Sep 05 23:14:15 2007

This archive was generated by hypermail 2.1.8 : 2007-09-05 23:14:35 EST