On Thu, May 8, 2025 at 4:18 PM Sasha Levin sashal@kernel.org wrote:
[ Sasha's backport helper bot ]
Hi,
Summary of potential issues: ⚠️ Found matching upstream commit but patch is missing proper reference to it
Not sure why "patch is missing proper reference to it". I see (cherry picked from commit be8250786ca94952a19ce87f98ad9906448bc9ef) in place. Did I miss something?
Found matching upstream commit: be8250786ca94952a19ce87f98ad9906448bc9ef
WARNING: Author mismatch between patch and found commit: Backport author: Suren Baghdasaryansurenb@google.com Commit author: Zhenhua Huangquic_zhenhuah@quicinc.com
Status in newer kernel trees: 6.14.y | Present (different SHA1: 94107e5aed93)
Note: The patch differs from the upstream commit:
Yep, this is expected as I had to make changes when backporting.
1: be8250786ca94 ! 1: 86ffacf03afed mm, slab: clean up slab->obj_exts always @@ Commit message Acked-by: Suren Baghdasaryan surenb@google.com Link: https://patch.msgid.link/20250421075232.2165527-1-quic_zhenhuah@quicinc.com Signed-off-by: Vlastimil Babka vbabka@suse.cz + (cherry picked from commit be8250786ca94952a19ce87f98ad9906448bc9ef) + [surenb: fixed trivial merge conflict in alloc_tagging_slab_alloc_hook(), + skipped inlining free_slab_obj_exts() as it's already inline in 6.12]
And the changes are documented above.
+ Signed-off-by: Suren Baghdasaryan <surenb@google.com> ## mm/slub.c ## -@@ mm/slub.c: int alloc_slab_obj_exts(struct slab *slab, struct kmem_cache *s, - return 0; - } - --/* Should be called only if mem_alloc_profiling_enabled() */ --static noinline void free_slab_obj_exts(struct slab *slab) -+static inline void free_slab_obj_exts(struct slab *slab) - { - struct slabobj_ext *obj_exts; - -@@ mm/slub.c: static noinline void free_slab_obj_exts(struct slab *slab) +@@ mm/slub.c: static inline void free_slab_obj_exts(struct slab *slab) slab->obj_exts = 0; } @@ mm/slub.c: static inline void free_slab_obj_exts(struct slab *slab) #endif /* CONFIG_SLAB_OBJ_EXT */ #ifdef CONFIG_MEM_ALLOC_PROFILING -@@ mm/slub.c: __alloc_tagging_slab_alloc_hook(struct kmem_cache *s, void *object, gfp_t flags) +@@ mm/slub.c: prepare_slab_obj_exts_hook(struct kmem_cache *s, gfp_t flags, void *p) static inline void alloc_tagging_slab_alloc_hook(struct kmem_cache *s, void *object, gfp_t flags) { -- if (need_slab_obj_ext()) -+ if (mem_alloc_profiling_enabled()) - __alloc_tagging_slab_alloc_hook(s, object, flags); - } +- if (need_slab_obj_ext()) { ++ if (mem_alloc_profiling_enabled()) { + struct slabobj_ext *obj_exts; + obj_exts = prepare_slab_obj_exts_hook(s, flags, object); @@ mm/slub.c: static __always_inline void account_slab(struct slab *slab, int order, static __always_inline void unaccount_slab(struct slab *slab, int order, struct kmem_cache *s)
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.12.y | Success | Success |