Re: [PATCH RFC v2 03/20] mm/slab: make caches with sheaves mergeable
From: Harry Yoo
Date: Fri Jan 16 2026 - 03:48:15 EST
On Fri, Jan 16, 2026 at 08:24:02AM +0100, Vlastimil Babka wrote:
> On 1/16/26 01:22, Suren Baghdasaryan wrote:
> > On Mon, Jan 12, 2026 at 3:17 PM Vlastimil Babka <vbabka@xxxxxxx> wrote:
> >> @@ -337,6 +331,13 @@ struct kmem_cache *__kmem_cache_create_args(const char *name,
> >> flags &= ~SLAB_DEBUG_FLAGS;
> >> #endif
> >>
> >> + /*
> >> + * Caches with specific capacity are special enough. It's simpler to
> >> + * make them unmergeable.
> >> + */
> >> + if (args->sheaf_capacity)
> >> + flags |= SLAB_NO_MERGE;
> >
> > So, this is very subtle and maybe not that important but the comment
> > for kmem_cache_args.sheaf_capacity claims "When slub_debug is enabled
> > for the cache, the sheaf_capacity argument is ignored.". With this
> > change this argument is not completely ignored anymore... It sets
> > SLAB_NO_MERGE even if slub_debug is enabled, doesn't it?
>
> True, but the various debug flags set by slub_debug also prevent merging so
> it doesn't change the outcome.
nit: except for slub_debug=F (SLAB_CONSISTENCY_CHECKS), since it doesn't
prevent merging (it's in SLAB_DEBUG_FLAGS but not in SLAB_NEVER_MERGE).
--
Cheers,
Harry / Hyeonggon