mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-12 22:21:29 -04:00
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>
This commit is contained in:
@@ -4519,8 +4519,8 @@ static void *___slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node,
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user