Re: [PATCH] SLUB use cmpxchg_local

Mathieu Desnoyers
2007-08-27T22:27:26Z

* Christoph Lameter (clameter@sgi.com) wrote:
> On Mon, 27 Aug 2007, Mathieu Desnoyers wrote:
>
> > > 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.
>
> If we include new_slab then we get to 3 times:
>
> 1. In the cmpxchg_local emulation that fails
>
> 2. For the slow path
>
> 3. When calling the page allocator.
>

Hrm, I just want to certify one thing: A lot of code paths seems to go
to the slow path without requiring cmpxchg_local to execute at all. So
is the slow path more likely to be triggered by the (!object),
(!node_match) tests or by these same tests done in the redo after the
initial cmpxchg_local ?