diff mbox

[03/25] bootmem: move out map assigning out of loop

Message ID 1261525263-13763-4-git-send-email-yinghai@kernel.org (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Yinghai Lu Dec. 22, 2009, 11:40 p.m. UTC
None
diff mbox

Patch

diff --git a/mm/bootmem.c b/mm/bootmem.c
index 7d14868..8caf744 100644
--- a/mm/bootmem.c
+++ b/mm/bootmem.c
@@ -171,6 +171,7 @@  static unsigned long __init free_all_bootmem_core(bootmem_data_t *bdata)
 {
 	int aligned;
 	struct page *page;
+	unsigned long *map;
 	unsigned long start, end, pages, count = 0;
 
 	if (!bdata->node_bootmem_map)
@@ -188,10 +189,10 @@  static unsigned long __init free_all_bootmem_core(bootmem_data_t *bdata)
 	bdebug("nid=%td start=%lx end=%lx aligned=%d\n",
 		bdata - bootmem_node_data, start, end, aligned);
 
+	map = bdata->node_bootmem_map;
 	while (start < end) {
-		unsigned long *map, idx, vec;
+		unsigned long idx, vec;
 
-		map = bdata->node_bootmem_map;
 		idx = start - bdata->node_min_pfn;
 		vec = ~map[idx / BITS_PER_LONG];