Re: [PATCH] SLUB use cmpxchg_local

Christoph Lameter
2007-08-21T23:17:30Z

On Tue, 21 Aug 2007, Mathieu Desnoyers wrote:

> SLUB Use cmpxchg() everywhere.
>
> It applies to "SLUB: Single atomic instruction alloc/free using
> cmpxchg".

> +++ slab/mm/slub.c 2007-08-20 18:42:28.000000000 -0400
> @@ -1682,7 +1682,7 @@ redo:
>
> object[c->offset] = freelist;
>
> - if (unlikely(cmpxchg_local(&c->freelist, freelist, object) != freelist))
> + if (unlikely(cmpxchg(&c->freelist, freelist, object) != freelist))
> goto redo;
> return;
> slow:

Ok so regular cmpxchg, no cmpxchg_local. cmpxchg_local does not bring
anything more? My measurements did not show any difference. I measured on
Athlon64. What processor is being used?