Commit 3f29c331 authored by Jiang Liu's avatar Jiang Liu Committed by Linus Torvalds

mm/tile: prepare for removing num_physpages and simplify mem_init()

Prepare for removing num_physpages and simplify mem_init().
Signed-off-by: default avatarJiang Liu <jiang.liu@huawei.com>
Acked-by: default avatarChris 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent dceccbe9
...@@ -329,6 +329,7 @@ static void __init setup_memory(void) ...@@ -329,6 +329,7 @@ static void __init setup_memory(void)
#if defined(CONFIG_HIGHMEM) || defined(__tilegx__) #if defined(CONFIG_HIGHMEM) || defined(__tilegx__)
long lowmem_pages; long lowmem_pages;
#endif #endif
unsigned long physpages = 0;
/* We are using a char to hold the cpu_2_node[] mapping */ /* We are using a char to hold the cpu_2_node[] mapping */
BUILD_BUG_ON(MAX_NUMNODES > 127); BUILD_BUG_ON(MAX_NUMNODES > 127);
...@@ -388,8 +389,8 @@ static void __init setup_memory(void) ...@@ -388,8 +389,8 @@ static void __init setup_memory(void)
continue; continue;
} }
} }
if (num_physpages + PFN_DOWN(range.size) > maxmem_pfn) { if (physpages + PFN_DOWN(range.size) > maxmem_pfn) {
int max_size = maxmem_pfn - num_physpages; int max_size = maxmem_pfn - physpages;
if (max_size > 0) { if (max_size > 0) {
pr_err("Maxmem reduced node %d to %d pages\n", pr_err("Maxmem reduced node %d to %d pages\n",
i, max_size); i, max_size);
...@@ -446,7 +447,7 @@ static void __init setup_memory(void) ...@@ -446,7 +447,7 @@ static void __init setup_memory(void)
node_start_pfn[i] = start; node_start_pfn[i] = start;
node_end_pfn[i] = end; node_end_pfn[i] = end;
node_controller[i] = range.controller; node_controller[i] = range.controller;
num_physpages += size; physpages += size;
max_pfn = end; max_pfn = end;
/* Mark node as online */ /* Mark node as online */
...@@ -465,7 +466,7 @@ static void __init setup_memory(void) ...@@ -465,7 +466,7 @@ static void __init setup_memory(void)
* we're willing to use at 8 million pages (32GB of 4KB pages). * we're willing to use at 8 million pages (32GB of 4KB pages).
*/ */
cap = 8 * 1024 * 1024; /* 8 million pages */ cap = 8 * 1024 * 1024; /* 8 million pages */
if (num_physpages > cap) { if (physpages > cap) {
int num_nodes = num_online_nodes(); int num_nodes = num_online_nodes();
int cap_each = cap / num_nodes; int cap_each = cap / num_nodes;
unsigned long dropped_pages = 0; unsigned long dropped_pages = 0;
...@@ -476,10 +477,10 @@ static void __init setup_memory(void) ...@@ -476,10 +477,10 @@ static void __init setup_memory(void)
node_end_pfn[i] = node_start_pfn[i] + cap_each; node_end_pfn[i] = node_start_pfn[i] + cap_each;
} }
} }
num_physpages -= dropped_pages; physpages -= dropped_pages;
pr_warning("Only using %ldMB memory;" pr_warning("Only using %ldMB memory;"
" ignoring %ldMB.\n", " ignoring %ldMB.\n",
num_physpages >> (20 - PAGE_SHIFT), physpages >> (20 - PAGE_SHIFT),
dropped_pages >> (20 - PAGE_SHIFT)); dropped_pages >> (20 - PAGE_SHIFT));
pr_warning("Consider using a larger page size.\n"); pr_warning("Consider using a larger page size.\n");
} }
...@@ -497,7 +498,7 @@ static void __init setup_memory(void) ...@@ -497,7 +498,7 @@ static void __init setup_memory(void)
lowmem_pages = (mappable_physpages > MAXMEM_PFN) ? lowmem_pages = (mappable_physpages > MAXMEM_PFN) ?
MAXMEM_PFN : mappable_physpages; MAXMEM_PFN : mappable_physpages;
highmem_pages = (long) (num_physpages - lowmem_pages); highmem_pages = (long) (physpages - lowmem_pages);
pr_notice("%ldMB HIGHMEM available.\n", pr_notice("%ldMB HIGHMEM available.\n",
pages_to_mb(highmem_pages > 0 ? highmem_pages : 0)); pages_to_mb(highmem_pages > 0 ? highmem_pages : 0));
...@@ -514,7 +515,6 @@ static void __init setup_memory(void) ...@@ -514,7 +515,6 @@ static void __init setup_memory(void)
pr_warning("Use a HIGHMEM enabled kernel.\n"); pr_warning("Use a HIGHMEM enabled kernel.\n");
max_low_pfn = MAXMEM_PFN; max_low_pfn = MAXMEM_PFN;
max_pfn = MAXMEM_PFN; max_pfn = MAXMEM_PFN;
num_physpages = MAXMEM_PFN;
node_end_pfn[0] = MAXMEM_PFN; node_end_pfn[0] = MAXMEM_PFN;
} else { } else {
pr_notice("%ldMB memory available.\n", pr_notice("%ldMB memory available.\n",
......
...@@ -821,7 +821,6 @@ static void __init set_max_mapnr_init(void) ...@@ -821,7 +821,6 @@ static void __init set_max_mapnr_init(void)
void __init mem_init(void) void __init mem_init(void)
{ {
int codesize, datasize, initsize;
int i; int i;
#ifndef __tilegx__ #ifndef __tilegx__
void *last; void *last;
...@@ -853,19 +852,7 @@ void __init mem_init(void) ...@@ -853,19 +852,7 @@ void __init mem_init(void)
set_non_bootmem_pages_init(); set_non_bootmem_pages_init();
#endif #endif
codesize = (unsigned long)&_etext - (unsigned long)&_text; mem_init_print_info(NULL);
datasize = (unsigned long)&_end - (unsigned long)&_sdata;
initsize = (unsigned long)&_einittext - (unsigned long)&_sinittext;
initsize += (unsigned long)&_einitdata - (unsigned long)&_sinitdata;
pr_info("Memory: %luk/%luk available (%dk kernel code, %dk data, %dk init, %ldk highmem)\n",
(unsigned long) nr_free_pages() << (PAGE_SHIFT-10),
num_physpages << (PAGE_SHIFT-10),
codesize >> 10,
datasize >> 10,
initsize >> 10,
(unsigned long) (totalhigh_pages << (PAGE_SHIFT-10))
);
/* /*
* In debug mode, dump some interesting memory mappings. * In debug mode, dump some interesting memory mappings.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment