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

From: Joonsoo Kim
Date: Sun Jan 05 2014 - 23:32:48 EST


On Fri, Jan 03, 2014 at 02:18:16PM -0800, Andrew Morton wrote:
> 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.

Hello,

I guess that cmpxchg16 is not used in this cache-hot kmalloc/kfree test,
because kfree would be done in free fast-path. In this case,
this_cpu_cmpxchg_double() would be called, so you cannot find any effect
of cmpxchg16.

Thanks.

>
> 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, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>
--
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/