From 1b96955f48ea0670a0390f4b6fc2618c9bf010be Mon Sep 17 00:00:00 2001 From: Nishanth Aravamudan Date: Wed, 21 Mar 2012 16:34:07 -0700 Subject: [PATCH] --- yaml --- r: 292651 b: refs/heads/master c: f5bf18fa22f8c41a13eb8762c7373eb3a93a7333 h: refs/heads/master i: 292649: e0a64dc1cac5dc19803baaccf1e34020cd3bf71f 292647: cc641f6fe083618a05d6a1758d8e319c5a78b769 v: v3 --- [refs] | 2 +- trunk/mm/bootmem.c | 5 ++--- trunk/mm/sparse.c | 30 +++++++++++------------------- 3 files changed, 14 insertions(+), 23 deletions(-) diff --git a/[refs] b/[refs] index 1606bf7dff4f..3b5f8e61ebbe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f0cb3c76ae1ced85f9034480b1b24cd96530ec78 +refs/heads/master: f5bf18fa22f8c41a13eb8762c7373eb3a93a7333 diff --git a/trunk/mm/bootmem.c b/trunk/mm/bootmem.c index 668e94df8cf2..0131170c9d54 100644 --- a/trunk/mm/bootmem.c +++ b/trunk/mm/bootmem.c @@ -766,14 +766,13 @@ void * __init alloc_bootmem_section(unsigned long size, unsigned long section_nr) { bootmem_data_t *bdata; - unsigned long pfn, goal, limit; + unsigned long pfn, goal; pfn = section_nr_to_pfn(section_nr); goal = pfn << PAGE_SHIFT; - limit = section_nr_to_pfn(section_nr + 1) << PAGE_SHIFT; bdata = &bootmem_node_data[early_pfn_to_nid(pfn)]; - return alloc_bootmem_core(bdata, size, SMP_CACHE_BYTES, goal, limit); + return alloc_bootmem_core(bdata, size, SMP_CACHE_BYTES, goal, 0); } #endif diff --git a/trunk/mm/sparse.c b/trunk/mm/sparse.c index 61d7cde23111..a8bc7d364deb 100644 --- a/trunk/mm/sparse.c +++ b/trunk/mm/sparse.c @@ -353,29 +353,21 @@ static void __init sparse_early_usemaps_alloc_node(unsigned long**usemap_map, usemap = sparse_early_usemaps_alloc_pgdat_section(NODE_DATA(nodeid), usemap_count); - if (usemap) { - for (pnum = pnum_begin; pnum < pnum_end; pnum++) { - if (!present_section_nr(pnum)) - continue; - usemap_map[pnum] = usemap; - usemap += size; + if (!usemap) { + usemap = alloc_bootmem_node(NODE_DATA(nodeid), size * usemap_count); + if (!usemap) { + printk(KERN_WARNING "%s: allocation failed\n", __func__); + return; } - return; } - usemap = alloc_bootmem_node(NODE_DATA(nodeid), size * usemap_count); - if (usemap) { - for (pnum = pnum_begin; pnum < pnum_end; pnum++) { - if (!present_section_nr(pnum)) - continue; - usemap_map[pnum] = usemap; - usemap += size; - check_usemap_section_nr(nodeid, usemap_map[pnum]); - } - return; + for (pnum = pnum_begin; pnum < pnum_end; pnum++) { + if (!present_section_nr(pnum)) + continue; + usemap_map[pnum] = usemap; + usemap += size; + check_usemap_section_nr(nodeid, usemap_map[pnum]); } - - printk(KERN_WARNING "%s: allocation failed\n", __func__); } #ifndef CONFIG_SPARSEMEM_VMEMMAP