On Wed, 22 Aug 2007, Mathieu Desnoyers wrote: > > Then the thread could be preempted and rescheduled on a different cpu > > between put_cpu and local_irq_save() which means that we loose the > > state information of the kmem_cache_cpu structure. > > > > Maybe am I misunderstanding something, but kmem_cache_cpu does not seem > to be passed to __slab_free() at all, nor any data referenced by it. So > why do we care about being preempted there ?
Right it is only useful for __slab_alloc. I just changed them both to look the same. We could do it that way in __slab_free() to avoid the later preempt_check_resched(). > > We could do that but maybe the frequency of these checks would be too > > high? When should the resched checks be used? > > Since we are only doing this on the slow path, it does not hurt. > preempt_check_resched() is embedded in preempt_enable() and has a very > low impact (simple thread flag check in the standard case). Ok then lets add it. - 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/