On 09/26/2012 04:46 AM, David Rientjes wrote: > On Tue, 25 Sep 2012, Christoph Lameter wrote: > >>> No cache should ever pass those as a creation flags. We can just ignore >>> this bit if it happens to be passed (such as when duplicating a cache in >>> the kmem memcg patches) >> >> Acked-by: Christoph Lameter <cl@xxxxxxxxx> >> > > Nack, this is already handled by CREATE_MASK in the mm/slab.c allocator; > the flag extensions beyond those defined in the generic slab.h header are > implementation defined. It may be true that SLAB uses a bit only > internally (and already protects it with a BUG_ON() in > __kmem_cache_create()) but that doesn't mean other implementations can't > use such a flag that would be a no-op on another allocator. > 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 ? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>