SLUB: Fix __GFP_ZERO unlikely() annotation
The unlikely() annotation in slab_alloc() covers too much of the expression. It's actually very likely that the object is not NULL so use unlikely() only for the __GFP_ZERO expression like SLAB does. The patch reduces kernel text by 29 bytes on x86-64: text data bss dec hex filename 24185 8560 176 32921 8099 mm/slub.o.orig 24156 8560 176 32892 807c mm/slub.o Acked-by: Christoph Lameter <cl@linux-foundation.org> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
This commit is contained in:
Родитель
b419148e56
Коммит
74e2134ff8
|
@ -1735,7 +1735,7 @@ static __always_inline void *slab_alloc(struct kmem_cache *s,
|
|||
}
|
||||
local_irq_restore(flags);
|
||||
|
||||
if (unlikely((gfpflags & __GFP_ZERO) && object))
|
||||
if (unlikely(gfpflags & __GFP_ZERO) && object)
|
||||
memset(object, 0, objsize);
|
||||
|
||||
kmemcheck_slab_alloc(s, gfpflags, object, c->objsize);
|
||||
|
|
Загрузка…
Ссылка в новой задаче