Messages in this thread | | | Date | Mon, 27 Aug 2007 17:38:45 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [PATCH] SLUB use cmpxchg_local |
| |
* Christoph Lameter (clameter@sgi.com) 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 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/
| |