Re: [PATCH] SLUB use cmpxchg_local

From: Christoph Lameter
Date: Tue Aug 21 2007 - 19:17:31 EST


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?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/