Re: [PATCH] slub: let need_slab_obj_exts() return false if SLAB_NO_OBJ_EXT is set

From: Harry Yoo

Date: Fri Feb 06 2026 - 05:22:15 EST


On Fri, Feb 06, 2026 at 11:03:08AM +0100, Vlastimil Babka wrote:
> On 2/6/26 11:01, Harry Yoo wrote:
> > On Fri, Feb 06, 2026 at 10:40:54AM +0100, Vlastimil Babka wrote:
> >> On 2/6/26 01:53, Harry Yoo wrote:
> >> > On Thu, Feb 05, 2026 at 08:07:23PM +0800, Hao Li wrote:
> >> >> SLAB_NO_OBJ_EXT is set for boot caches, but need_slab_obj_exts() doesn't
> >> >> check this flag. We should return false unconditionally when
> >> >> SLAB_NO_OBJ_EXT is set.
> >> >>
> >> >> Signed-off-by: Hao Li <hao.li@xxxxxxxxx>
> >> >> ---
> >> >
> >> > Looks reasonable to me,
> >> > Acked-by: Harry Yoo <harry.yoo@xxxxxxxxxx>
> >>
> >> Thanks, added to slab/for-7.0/obj_metadata
> >> I think it doesn't change anything at the moment?
> >
> > ...unless you enable memory allocation profiling :)
>
> If I do, would kmem_cache or kmem_cache_node caches gotten obj_exts in
> leftover space?

/me builds and tests a new kernel with mem profiling always enabled...

Yes, but only if merging is disabled.

If you disable slab merging with `slab_nomerge`, kmem_cache gets
obj_exts from SLAB_OBJ_EXTS_IN_OBJ.

When I enable debug feature slab_debug=P (and thus change s->size),
kmem_cache_node gets obj_exts from SLAB_OBJ_EXTS_IN_OBJ.

--
Cheers,
Harry / Hyeonggon