diff options
author | Pekka Enberg <penberg@cs.helsinki.fi> | 2009-11-25 13:14:48 -0500 |
---|---|---|
committer | Pekka Enberg <penberg@cs.helsinki.fi> | 2009-11-29 02:01:59 -0500 |
commit | 74e2134ff892ee4ea4fbd52637060b71e540faf1 (patch) | |
tree | a0747c885ca2bc04745a77ef4a902d121acbe44f /mm/slub.c | |
parent | b419148e567728f6af0c3b01965c1cc141e3e13a (diff) |
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>
Diffstat (limited to 'mm/slub.c')
-rw-r--r-- | mm/slub.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1735,7 +1735,7 @@ static __always_inline void *slab_alloc(struct kmem_cache *s, | |||
1735 | } | 1735 | } |
1736 | local_irq_restore(flags); | 1736 | local_irq_restore(flags); |
1737 | 1737 | ||
1738 | if (unlikely((gfpflags & __GFP_ZERO) && object)) | 1738 | if (unlikely(gfpflags & __GFP_ZERO) && object) |
1739 | memset(object, 0, objsize); | 1739 | memset(object, 0, objsize); |
1740 | 1740 | ||
1741 | kmemcheck_slab_alloc(s, gfpflags, object, c->objsize); | 1741 | kmemcheck_slab_alloc(s, gfpflags, object, c->objsize); |