diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-09 13:14:36 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-09 13:17:52 -0500 |
commit | 7fd272550bd43cc1d7289ef0ab2fa50de137e767 (patch) | |
tree | 85c2ae7f4a7f5df3cc2cbd27056ff052ae0de5e2 /mm/slub.c | |
parent | 94545baded0bfbabdc30a3a4cb48b3db479dd6ef (diff) |
Avoid double memclear() in SLOB/SLUB
Both slob and slub react to __GFP_ZERO by clearing the allocation, which
means that passing the GFP_ZERO bit down to the page allocator is just
wasteful and pointless.
Acked-by: Matt Mackall <mpm@selenic.com>
Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/slub.c')
-rw-r--r-- | mm/slub.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1468,6 +1468,9 @@ static void *__slab_alloc(struct kmem_cache *s, | |||
1468 | void **object; | 1468 | void **object; |
1469 | struct page *new; | 1469 | struct page *new; |
1470 | 1470 | ||
1471 | /* We handle __GFP_ZERO in the caller */ | ||
1472 | gfpflags &= ~__GFP_ZERO; | ||
1473 | |||
1471 | if (!c->page) | 1474 | if (!c->page) |
1472 | goto new_slab; | 1475 | goto new_slab; |
1473 | 1476 | ||