Messages in this thread | | | Date | Wed, 22 Aug 2007 13:33:25 -0700 (PDT) | From | Christoph Lameter <> | Subject | Re: [PATCH] SLUB use cmpxchg_local |
| |
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 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/
| |