Re: [PATCH] slab: Ignore internal flags in cache creation

From: David Rientjes
Date: Wed Sep 26 2012 - 21:16:05 EST


On Wed, 26 Sep 2012, Glauber Costa wrote:

> So the problem I am facing here is that when I am creating caches from
> memcg, I would very much like to reuse their flags fields. They are
> stored in the cache itself, so this is not a problem. But slab also
> stores that flag, leading to the precise BUG_ON() on CREATE_MASK that
> you quoted.
>
> In this context, passing this flag becomes completely valid, I just need
> that to be explicitly masked out.
>
> What is your suggestion to handle this ?
>

I would suggest cachep->flags being used solely for the flags passed to
kmem_cache_create() and seperating out all "internal flags" based on the
individual slab allocator's implementation into a different field. There
should be no problem with moving CFLGS_OFF_SLAB elsewhere, in fact, I just
removed a "dflags" field from mm/slab.c's kmem_cache that turned out never
to be used. You could simply reintroduce a new "internal_flags" field and
use it at your discretion.
--
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/