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

Andrew Morton akpm at linux-foundation.org
Thu Oct 18 15:42:03 PDT 2012


On Wed, 17 Oct 2012 15:36:51 +0400
Glauber Costa <glommer at parallels.com> wrote:

> Some flags are used internally by the allocators for management
> purposes. One example of that is the CFLGS_OFF_SLAB flag that slab uses
> to mark that the metadata for that cache is stored outside of the slab.
> 
> 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).

I may be minunderstanding this, but...

If some caller to kmem_cache_create() is passing in bogus flags then
that's a bug, and it is undesirable to hide such a bug in this fashion?

> Because such flags can vary from allocator to allocator, we allow them
> to make their own decisions on that, defining SLAB_AVAILABLE_FLAGS with
> all flags that are valid at creation time.  Allocators that doesn't have
> any specific flag requirement should define that to mean all flags.
> 
> Common code will mask out all flags not belonging to that set.




More information about the Devel mailing list