* Christoph Lameter ([EMAIL PROTECTED]) wrote: > On Mon, 27 Aug 2007, Mathieu Desnoyers wrote: > > > > a clean solution source code wise. It also minimizes the interrupt > > > holdoff > > > for the non-cmpxchg_local arches. However, it means that we will have to > > > disable interrupts twice for the slow path. If that is too expensive then > > > we need a different solution. > > > > > > > cmpxchg_local is not used on the slow path... ? > > Right. > > > Did you meant: > > > > it means that we will have to disable preemption _and_ interrupts on the > > fast path for non-cmpxchg_local arches ? > > We would have to disable preemption and interrupts once on the fast path. > The interrupt holdoff would just be a couple of instructions. >
Right. > The slow path would require disable preemption and two interrupt disables. > If the slow path have to call new_slab, then yes. But it seems that not every slow path must call it, so for the other slow paths, only one interrupt disable would be required. > Question is if this makes sense performance wise. If not then we may have > to look at more complicated schemes. > Yep, such as the arch_have_cmpxchg() macro that I proposed, but it really hurts my eyes... :( 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/