On Tue, Sep 03, 2024 at 04:20:43PM +0200, Christian Brauner wrote: > Signed-off-by: Christian Brauner <brauner@xxxxxxxxxx> > --- > include/linux/slab.h | 21 ++++++++++++++++ > mm/slab_common.c | 67 +++++++++++++++++++++++++++++++++++++++------------- > 2 files changed, 72 insertions(+), 16 deletions(-) > > diff --git a/include/linux/slab.h b/include/linux/slab.h > index 5b2da2cf31a8..79d8c8bca4a4 100644 > --- a/include/linux/slab.h > +++ b/include/linux/slab.h > @@ -240,6 +240,27 @@ struct mem_cgroup; > */ > bool slab_is_available(void); > > +/** > + * @align: The required alignment for the objects. > + * @useroffset: Usercopy region offset > + * @usersize: Usercopy region size > + * @freeptr_offset: Custom offset for the free pointer in RCU caches > + * @use_freeptr_offset: Whether a @freeptr_offset is used > + * @ctor: A constructor for the objects. > + */ > +struct kmem_cache_args { > + unsigned int align; > + unsigned int useroffset; > + unsigned int usersize; > + unsigned int freeptr_offset; > + bool use_freeptr_offset; > + void (*ctor)(void *); > +}; > + > +struct kmem_cache *__kmem_cache_create_args(const char *name, > + unsigned int object_size, > + struct kmem_cache_args *args, > + slab_flags_t flags); I'd name it __kmem_cache_create() and then s/kmem_cache_create/_kmem_cache_create/ in patch 12. Other than that Reviewed-by: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx> > struct kmem_cache *kmem_cache_create(const char *name, unsigned int size, > unsigned int align, slab_flags_t flags, > void (*ctor)(void *)); -- Sincerely yours, Mike.