Slab allocators: Replace explicit zeroing with __GFP_ZERO
kmalloc_node() and kmem_cache_alloc_node() were not available in a zeroing variant in the past. But with __GFP_ZERO it is possible now to do zeroing while allocating. Use __GFP_ZERO to remove the explicit clearing of memory via memset whereever we can. Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
81cda66261
commit
94f6030ca7
@@ -432,11 +432,12 @@ void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask,
|
||||
area->nr_pages = nr_pages;
|
||||
/* Please note that the recursion is strictly bounded. */
|
||||
if (array_size > PAGE_SIZE) {
|
||||
pages = __vmalloc_node(array_size, gfp_mask, PAGE_KERNEL, node);
|
||||
pages = __vmalloc_node(array_size, gfp_mask | __GFP_ZERO,
|
||||
PAGE_KERNEL, node);
|
||||
area->flags |= VM_VPAGES;
|
||||
} else {
|
||||
pages = kmalloc_node(array_size,
|
||||
(gfp_mask & GFP_LEVEL_MASK),
|
||||
(gfp_mask & GFP_LEVEL_MASK) | __GFP_ZERO,
|
||||
node);
|
||||
}
|
||||
area->pages = pages;
|
||||
@@ -445,7 +446,6 @@ void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask,
|
||||
kfree(area);
|
||||
return NULL;
|
||||
}
|
||||
memset(area->pages, 0, array_size);
|
||||
|
||||
for (i = 0; i < area->nr_pages; i++) {
|
||||
if (node < 0)
|
||||
|
Reference in New Issue
Block a user