diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-09 10:14:36 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-09 10:17:52 -0800 |
commit | 7fd272550bd43cc1d7289ef0ab2fa50de137e767 (patch) | |
tree | 85c2ae7f4a7f5df3cc2cbd27056ff052ae0de5e2 /mm/slob.c | |
parent | 94545baded0bfbabdc30a3a4cb48b3db479dd6ef (diff) | |
download | linux-7fd272550bd43cc1d7289ef0ab2fa50de137e767.tar.gz linux-7fd272550bd43cc1d7289ef0ab2fa50de137e767.tar.bz2 linux-7fd272550bd43cc1d7289ef0ab2fa50de137e767.zip |
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/slob.c')
-rw-r--r-- | mm/slob.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/slob.c b/mm/slob.c index ee2ef8af0d43..773a7aa80ab5 100644 --- a/mm/slob.c +++ b/mm/slob.c @@ -330,7 +330,7 @@ static void *slob_alloc(size_t size, gfp_t gfp, int align, int node) /* Not enough space: must allocate a new page */ if (!b) { - b = slob_new_page(gfp, 0, node); + b = slob_new_page(gfp & ~__GFP_ZERO, 0, node); if (!b) return 0; sp = (struct slob_page *)virt_to_page(b); |