X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mm%2Fnobootmem.c;h=714d5d6504708c83c64365618749a84b1da4cd66;hb=b676b293fb48672904ee1b9828cb50b4eed01717;hp=405573010f99a8b0d877dd980e284979ebd2ec69;hpb=98c7b42375011ec37251e6fc85a0471cfe499eea;p=karo-tx-linux.git diff --git a/mm/nobootmem.c b/mm/nobootmem.c index 405573010f99..714d5d650470 100644 --- a/mm/nobootmem.c +++ b/mm/nobootmem.c @@ -116,6 +116,8 @@ static unsigned long __init __free_memory_core(phys_addr_t start, return 0; __free_pages_memory(start_pfn, end_pfn); + fixup_zone_present_pages(pfn_to_nid(start >> PAGE_SHIFT), + start_pfn, end_pfn); return end_pfn - start_pfn; } @@ -126,6 +128,7 @@ unsigned long __init free_low_memory_core_early(int nodeid) phys_addr_t start, end, size; u64 i; + reset_zone_present_pages(); for_each_free_mem_range(i, MAX_NUMNODES, &start, &end, NULL) count += __free_memory_core(start, end); @@ -162,8 +165,6 @@ unsigned long __init free_all_bootmem(void) * We need to use MAX_NUMNODES instead of NODE_DATA(0)->node_id * because in some case like Node0 doesn't have RAM installed * low ram will be on Node1 - * Use MAX_NUMNODES will make sure all ranges in early_node_map[] - * will be used instead of only Node0 related */ return free_low_memory_core_early(MAX_NUMNODES); }