aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
authorVlastimil Babka (SUSE) <vbabka@kernel.org>2026-06-10 17:40:05 +0200
committerVlastimil Babka (SUSE) <vbabka@kernel.org>2026-06-15 10:50:27 +0200
commit5fd1c77e97decf78573843f4ad1ea3ddcc1ea102 (patch)
tree25b085b2c5eb08e1cf7fea1cea8b56d5f75730b9 /mm
parentf09b59ae4414b0dc0929cf04cd8243157e0feab6 (diff)
downloadath-5fd1c77e97decf78573843f4ad1ea3ddcc1ea102.tar.gz
mm/slab: stop inlining __slab_alloc_node()
With sheaves, this is no longer part of the allocation fastpath. For the same reason, also mark the call to it from slab_alloc_node() as unlikely(). Reviewed-by: Harry Yoo (Oracle) <harry@kernel.org> Reviewed-by: Hao Li <hao.li@linux.dev> Reviewed-by: Suren Baghdasaryan <surenb@google.com> Link: https://patch.msgid.link/20260610-slab_alloc_flags-v2-3-7190909db118@kernel.org Signed-off-by: Vlastimil Babka (SUSE) <vbabka@kernel.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/slub.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/slub.c b/mm/slub.c
index d762cbe5d0407..8845e15cb152e 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -4519,8 +4519,8 @@ success:
return object;
}
-static __always_inline void *__slab_alloc_node(struct kmem_cache *s,
- gfp_t gfpflags, int node, unsigned long addr, size_t orig_size)
+static void *__slab_alloc_node(struct kmem_cache *s, gfp_t gfpflags, int node,
+ unsigned long addr, size_t orig_size)
{
void *object;
@@ -4926,7 +4926,7 @@ static __fastpath_inline void *slab_alloc_node(struct kmem_cache *s, struct list
object = alloc_from_pcs(s, gfpflags, node);
- if (!object)
+ if (unlikely(!object))
object = __slab_alloc_node(s, gfpflags, node, addr, orig_size);
maybe_wipe_obj_freeptr(s, object);