Re: [PATCH v3 1/2] memcg: Prevent memcg caches to be both OFF_SLAB & OBJFREELIST_SLAB

From: Andrew Morton
Date: Mon Nov 07 2016 - 17:30:31 EST

On Mon, 7 Nov 2016 13:11:14 -0800 Thomas Garnier <thgarnie@xxxxxxxxxx> wrote:

> From: Greg Thelen <gthelen@xxxxxxxxxx>
> While testing OBJFREELIST_SLAB integration with pagealloc, we found a
> bug where kmem_cache(sys) would be created with both CFLGS_OFF_SLAB &
> The original kmem_cache is created early making OFF_SLAB not possible.
> When kmem_cache(sys) is created, OFF_SLAB is possible and if pagealloc
> is enabled it will try to enable it first under certain conditions.
> Given kmem_cache(sys) reuses the original flag, you can have both flags
> at the same time resulting in allocation failures and odd behaviors.

Can we please have a better description of the problems which this bug
causes? Without this info it's unclear to me which kernel version(s)
need the fix.

Given that the bug is 6 months old I'm assuming "not very urgent".

> This fix discards allocator specific flags from memcg before calling
> create_cache.
> Fixes: b03a017bebc4 ("mm/slab: introduce new slab management type, OBJFREELIST_SLAB")
> Signed-off-by: Greg Thelen <gthelen@xxxxxxxxxx>
> Tested-by: Thomas Garnier <thgarnie@xxxxxxxxxx>

This should have had your signed-off-by, as you were on the delivery
path. I've made that change.