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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/