diff options
| author | Jiang Liu <liuj97@gmail.com> | 2013-07-03 18:04:15 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:07:37 -0400 |
| commit | 3f29c33194d3b5fffdccc89665982a36b408b6f9 (patch) | |
| tree | 45106e3717e26af98c59cc17763067c3aa933276 /arch/tile | |
| parent | dceccbe9209bded817f39c01a8a8bd1e69d6277a (diff) | |
mm/tile: 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>
Acked-by: Chris Metcalf <cmetcalf@tilera.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Wen Congyang <wency@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/tile')
| -rw-r--r-- | arch/tile/kernel/setup.c | 16 | ||||
| -rw-r--r-- | arch/tile/mm/init.c | 15 |
2 files changed, 9 insertions, 22 deletions
diff --git a/arch/tile/kernel/setup.c b/arch/tile/kernel/setup.c index 41818e3ce97e..68b542677f6a 100644 --- a/arch/tile/kernel/setup.c +++ b/arch/tile/kernel/setup.c | |||
| @@ -329,6 +329,7 @@ static void __init setup_memory(void) | |||
| 329 | #if defined(CONFIG_HIGHMEM) || defined(__tilegx__) | 329 | #if defined(CONFIG_HIGHMEM) || defined(__tilegx__) |
| 330 | long lowmem_pages; | 330 | long lowmem_pages; |
| 331 | #endif | 331 | #endif |
| 332 | unsigned long physpages = 0; | ||
| 332 | 333 | ||
| 333 | /* We are using a char to hold the cpu_2_node[] mapping */ | 334 | /* We are using a char to hold the cpu_2_node[] mapping */ |
| 334 | BUILD_BUG_ON(MAX_NUMNODES > 127); | 335 | BUILD_BUG_ON(MAX_NUMNODES > 127); |
| @@ -388,8 +389,8 @@ static void __init setup_memory(void) | |||
| 388 | continue; | 389 | continue; |
| 389 | } | 390 | } |
| 390 | } | 391 | } |
| 391 | if (num_physpages + PFN_DOWN(range.size) > maxmem_pfn) { | 392 | if (physpages + PFN_DOWN(range.size) > maxmem_pfn) { |
| 392 | int max_size = maxmem_pfn - num_physpages; | 393 | int max_size = maxmem_pfn - physpages; |
| 393 | if (max_size > 0) { | 394 | if (max_size > 0) { |
| 394 | pr_err("Maxmem reduced node %d to %d pages\n", | 395 | pr_err("Maxmem reduced node %d to %d pages\n", |
| 395 | i, max_size); | 396 | i, max_size); |
| @@ -446,7 +447,7 @@ static void __init setup_memory(void) | |||
| 446 | node_start_pfn[i] = start; | 447 | node_start_pfn[i] = start; |
| 447 | node_end_pfn[i] = end; | 448 | node_end_pfn[i] = end; |
| 448 | node_controller[i] = range.controller; | 449 | node_controller[i] = range.controller; |
| 449 | num_physpages += size; | 450 | physpages += size; |
| 450 | max_pfn = end; | 451 | max_pfn = end; |
| 451 | 452 | ||
| 452 | /* Mark node as online */ | 453 | /* Mark node as online */ |
| @@ -465,7 +466,7 @@ static void __init setup_memory(void) | |||
| 465 | * we're willing to use at 8 million pages (32GB of 4KB pages). | 466 | * we're willing to use at 8 million pages (32GB of 4KB pages). |
| 466 | */ | 467 | */ |
| 467 | cap = 8 * 1024 * 1024; /* 8 million pages */ | 468 | cap = 8 * 1024 * 1024; /* 8 million pages */ |
| 468 | if (num_physpages > cap) { | 469 | if (physpages > cap) { |
| 469 | int num_nodes = num_online_nodes(); | 470 | int num_nodes = num_online_nodes(); |
| 470 | int cap_each = cap / num_nodes; | 471 | int cap_each = cap / num_nodes; |
| 471 | unsigned long dropped_pages = 0; | 472 | unsigned long dropped_pages = 0; |
| @@ -476,10 +477,10 @@ static void __init setup_memory(void) | |||
| 476 | node_end_pfn[i] = node_start_pfn[i] + cap_each; | 477 | node_end_pfn[i] = node_start_pfn[i] + cap_each; |
| 477 | } | 478 | } |
| 478 | } | 479 | } |
| 479 | num_physpages -= dropped_pages; | 480 | physpages -= dropped_pages; |
| 480 | pr_warning("Only using %ldMB memory;" | 481 | pr_warning("Only using %ldMB memory;" |
| 481 | " ignoring %ldMB.\n", | 482 | " ignoring %ldMB.\n", |
| 482 | num_physpages >> (20 - PAGE_SHIFT), | 483 | physpages >> (20 - PAGE_SHIFT), |
| 483 | dropped_pages >> (20 - PAGE_SHIFT)); | 484 | dropped_pages >> (20 - PAGE_SHIFT)); |
| 484 | pr_warning("Consider using a larger page size.\n"); | 485 | pr_warning("Consider using a larger page size.\n"); |
| 485 | } | 486 | } |
| @@ -497,7 +498,7 @@ static void __init setup_memory(void) | |||
| 497 | 498 | ||
| 498 | lowmem_pages = (mappable_physpages > MAXMEM_PFN) ? | 499 | lowmem_pages = (mappable_physpages > MAXMEM_PFN) ? |
| 499 | MAXMEM_PFN : mappable_physpages; | 500 | MAXMEM_PFN : mappable_physpages; |
| 500 | highmem_pages = (long) (num_physpages - lowmem_pages); | 501 | highmem_pages = (long) (physpages - lowmem_pages); |
| 501 | 502 | ||
| 502 | pr_notice("%ldMB HIGHMEM available.\n", | 503 | pr_notice("%ldMB HIGHMEM available.\n", |
| 503 | pages_to_mb(highmem_pages > 0 ? highmem_pages : 0)); | 504 | pages_to_mb(highmem_pages > 0 ? highmem_pages : 0)); |
| @@ -514,7 +515,6 @@ static void __init setup_memory(void) | |||
| 514 | pr_warning("Use a HIGHMEM enabled kernel.\n"); | 515 | pr_warning("Use a HIGHMEM enabled kernel.\n"); |
| 515 | max_low_pfn = MAXMEM_PFN; | 516 | max_low_pfn = MAXMEM_PFN; |
| 516 | max_pfn = MAXMEM_PFN; | 517 | max_pfn = MAXMEM_PFN; |
| 517 | num_physpages = MAXMEM_PFN; | ||
| 518 | node_end_pfn[0] = MAXMEM_PFN; | 518 | node_end_pfn[0] = MAXMEM_PFN; |
| 519 | } else { | 519 | } else { |
| 520 | pr_notice("%ldMB memory available.\n", | 520 | pr_notice("%ldMB memory available.\n", |
diff --git a/arch/tile/mm/init.c b/arch/tile/mm/init.c index f2ac2f405775..e182958c707d 100644 --- a/arch/tile/mm/init.c +++ b/arch/tile/mm/init.c | |||
| @@ -821,7 +821,6 @@ static void __init set_max_mapnr_init(void) | |||
| 821 | 821 | ||
| 822 | void __init mem_init(void) | 822 | void __init mem_init(void) |
| 823 | { | 823 | { |
| 824 | int codesize, datasize, initsize; | ||
| 825 | int i; | 824 | int i; |
| 826 | #ifndef __tilegx__ | 825 | #ifndef __tilegx__ |
| 827 | void *last; | 826 | void *last; |
| @@ -853,19 +852,7 @@ void __init mem_init(void) | |||
| 853 | set_non_bootmem_pages_init(); | 852 | set_non_bootmem_pages_init(); |
| 854 | #endif | 853 | #endif |
| 855 | 854 | ||
| 856 | codesize = (unsigned long)&_etext - (unsigned long)&_text; | 855 | mem_init_print_info(NULL); |
| 857 | datasize = (unsigned long)&_end - (unsigned long)&_sdata; | ||
| 858 | initsize = (unsigned long)&_einittext - (unsigned long)&_sinittext; | ||
| 859 | initsize += (unsigned long)&_einitdata - (unsigned long)&_sinitdata; | ||
| 860 | |||
| 861 | pr_info("Memory: %luk/%luk available (%dk kernel code, %dk data, %dk init, %ldk highmem)\n", | ||
| 862 | (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), | ||
| 863 | num_physpages << (PAGE_SHIFT-10), | ||
| 864 | codesize >> 10, | ||
| 865 | datasize >> 10, | ||
| 866 | initsize >> 10, | ||
| 867 | (unsigned long) (totalhigh_pages << (PAGE_SHIFT-10)) | ||
| 868 | ); | ||
| 869 | 856 | ||
| 870 | /* | 857 | /* |
| 871 | * In debug mode, dump some interesting memory mappings. | 858 | * In debug mode, dump some interesting memory mappings. |
