Thread (26 messages) 26 messages, 4 authors, 2012-06-27

Re: [PATCH 2/5] mm/sparse: optimize sparse_index_alloc

From: Michal Hocko <hidden>
Date: 2012-06-25 15:30:38

On Sat 23-06-12 23:52:53, Gavin Shan wrote:
With CONFIG_SPARSEMEM_EXTREME, the two level of memory section
descriptors are allocated from slab or bootmem. When allocating
from slab, let slab allocator to clear the memory chunk. However,
the memory chunk from bootmem allocator, we have to clear that
explicitly.
I am sorry but I do not see how this optimize the current code. What is
the difference between slab doing memset and doing it explicitly for all
cases?
quoted hunk ↗ jump to hunk
Signed-off-by: Gavin Shan <redacted>
---
 mm/sparse.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/mm/sparse.c b/mm/sparse.c
index afd0998..ce50c8b 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -74,14 +74,14 @@ static struct mem_section noinline __init_refok *sparse_index_alloc(int nid)
 
 	if (slab_is_available()) {
 		if (node_state(nid, N_HIGH_MEMORY))
-			section = kmalloc_node(array_size, GFP_KERNEL, nid);
+			section = kzalloc_node(array_size, GFP_KERNEL, nid);
 		else
-			section = kmalloc(array_size, GFP_KERNEL);
-	} else
+			section = kzalloc(array_size, GFP_KERNEL);
+	} else {
 		section = alloc_bootmem_node(NODE_DATA(nid), array_size);
-
-	if (section)
-		memset(section, 0, array_size);
+		if (section)
+			memset(section, 0, array_size);
+	}
 
 	return section;
 }
-- 
1.7.9.5

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
-- 
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9    
Czech Republic

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help