Re: [PATCH 0/9] re-shrink 'struct page' when SLUB is on.

From: Andrew Morton
Date: Fri Jan 03 2014 - 17:18:22 EST


On Fri, 03 Jan 2014 10:01:47 -0800 Dave Hansen <dave@xxxxxxxx> wrote:

> This is a minor update from the last version. The most notable
> thing is that I was able to demonstrate that maintaining the
> cmpxchg16 optimization has _some_ value.
>
> Otherwise, the code changes are just a few minor cleanups.
>
> ---
>
> SLUB depends on a 16-byte cmpxchg for an optimization which
> allows it to not disable interrupts in its fast path. This
> optimization has some small but measurable benefits:
>
> http://lkml.kernel.org/r/52B345A3.6090700@xxxxxxxx

So really the only significant benefit from the cmpxchg16 is with
cache-cold eight-byte kmalloc/kfree? 8% faster in this case? But with
cache-hot kmalloc/kfree the benefit of cmpxchg16 is precisely zero.

This is really weird and makes me suspect a measurement glitch.

Even if this 8% is real, it's unclear that it's worth all the
complexity the cmpxchg16 adds.

It would be really useful (hint :)) if we were to know exactly where
that 8% is coming from - perhaps it's something which is not directly
related to the cmpxchg16, and we can fix it separately.


--
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/