diff options
author | Jiang Liu <liuj97@gmail.com> | 2013-07-03 18:04:17 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:07:38 -0400 |
commit | 0d0b6d26ad52093452b1228325a99244e925582a (patch) | |
tree | f3a81629263e8e613002aea69c5e05ecc5ce0958 /arch/unicore32 | |
parent | 715ee356535e861c0c0890697fa48eeb8af94019 (diff) |
mm/unicore32: prepare for removing num_physpages and simplify mem_init()
Prepare for removing num_physpages and simplify mem_init().
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/unicore32')
-rw-r--r-- | arch/unicore32/mm/init.c | 49 |
1 files changed, 2 insertions, 47 deletions
diff --git a/arch/unicore32/mm/init.c b/arch/unicore32/mm/init.c index 7d1356c466b9..ae6bc036db92 100644 --- a/arch/unicore32/mm/init.c +++ b/arch/unicore32/mm/init.c | |||
@@ -383,10 +383,6 @@ static void __init free_unused_memmap(struct meminfo *mi) | |||
383 | */ | 383 | */ |
384 | void __init mem_init(void) | 384 | void __init mem_init(void) |
385 | { | 385 | { |
386 | unsigned long reserved_pages, free_pages; | ||
387 | struct memblock_region *reg; | ||
388 | int i; | ||
389 | |||
390 | max_mapnr = pfn_to_page(max_pfn + PHYS_PFN_OFFSET) - mem_map; | 386 | max_mapnr = pfn_to_page(max_pfn + PHYS_PFN_OFFSET) - mem_map; |
391 | 387 | ||
392 | free_unused_memmap(&meminfo); | 388 | free_unused_memmap(&meminfo); |
@@ -394,48 +390,7 @@ void __init mem_init(void) | |||
394 | /* this will put all unused low memory onto the freelists */ | 390 | /* this will put all unused low memory onto the freelists */ |
395 | free_all_bootmem(); | 391 | free_all_bootmem(); |
396 | 392 | ||
397 | reserved_pages = free_pages = 0; | 393 | mem_init_print_info(NULL); |
398 | |||
399 | for_each_bank(i, &meminfo) { | ||
400 | struct membank *bank = &meminfo.bank[i]; | ||
401 | unsigned int pfn1, pfn2; | ||
402 | struct page *page, *end; | ||
403 | |||
404 | pfn1 = bank_pfn_start(bank); | ||
405 | pfn2 = bank_pfn_end(bank); | ||
406 | |||
407 | page = pfn_to_page(pfn1); | ||
408 | end = pfn_to_page(pfn2 - 1) + 1; | ||
409 | |||
410 | do { | ||
411 | if (PageReserved(page)) | ||
412 | reserved_pages++; | ||
413 | else if (!page_count(page)) | ||
414 | free_pages++; | ||
415 | page++; | ||
416 | } while (page < end); | ||
417 | } | ||
418 | |||
419 | /* | ||
420 | * Since our memory may not be contiguous, calculate the | ||
421 | * real number of pages we have in this system | ||
422 | */ | ||
423 | printk(KERN_INFO "Memory:"); | ||
424 | num_physpages = 0; | ||
425 | for_each_memblock(memory, reg) { | ||
426 | unsigned long pages = memblock_region_memory_end_pfn(reg) - | ||
427 | memblock_region_memory_base_pfn(reg); | ||
428 | num_physpages += pages; | ||
429 | printk(" %ldMB", pages >> (20 - PAGE_SHIFT)); | ||
430 | } | ||
431 | printk(" = %luMB total\n", num_physpages >> (20 - PAGE_SHIFT)); | ||
432 | |||
433 | printk(KERN_NOTICE "Memory: %luk/%luk available, %luk reserved, %luK highmem\n", | ||
434 | nr_free_pages() << (PAGE_SHIFT-10), | ||
435 | free_pages << (PAGE_SHIFT-10), | ||
436 | reserved_pages << (PAGE_SHIFT-10), | ||
437 | totalhigh_pages << (PAGE_SHIFT-10)); | ||
438 | |||
439 | printk(KERN_NOTICE "Virtual kernel memory layout:\n" | 394 | printk(KERN_NOTICE "Virtual kernel memory layout:\n" |
440 | " vector : 0x%08lx - 0x%08lx (%4ld kB)\n" | 395 | " vector : 0x%08lx - 0x%08lx (%4ld kB)\n" |
441 | " vmalloc : 0x%08lx - 0x%08lx (%4ld MB)\n" | 396 | " vmalloc : 0x%08lx - 0x%08lx (%4ld MB)\n" |
@@ -464,7 +419,7 @@ void __init mem_init(void) | |||
464 | BUILD_BUG_ON(TASK_SIZE > MODULES_VADDR); | 419 | BUILD_BUG_ON(TASK_SIZE > MODULES_VADDR); |
465 | BUG_ON(TASK_SIZE > MODULES_VADDR); | 420 | BUG_ON(TASK_SIZE > MODULES_VADDR); |
466 | 421 | ||
467 | if (PAGE_SIZE >= 16384 && num_physpages <= 128) { | 422 | if (PAGE_SIZE >= 16384 && get_num_physpages() <= 128) { |
468 | /* | 423 | /* |
469 | * On a machine this small we won't get | 424 | * On a machine this small we won't get |
470 | * anywhere without overcommit, so turn | 425 | * anywhere without overcommit, so turn |