Messages in this thread | | | Date | Wed, 22 Aug 2007 16:09:10 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [PATCH] SLUB use cmpxchg_local |
| |
* Christoph Lameter (clameter@sgi.com) wrote: > void *kmem_cache_alloc(struct kmem_cache *s, gfp_t gfpflags) > @@ -1577,7 +1590,10 @@ static void __slab_free(struct kmem_cach > { > void *prior; > void **object = (void *)x; > + unsigned long flags; > > + local_irq_save(flags); > + put_cpu_no_resched();
Those two lines may skip a preempt_check.
Could we change them to this instead ?
put_cpu(); local_irq_save(flags);
Otherwise, it would be good to call
preempt_check_resched();
After each local_irq_restore() in this function.
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 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/
| |