mm/alpha: 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: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Matt Turner <mattst88@gmail.com> Cc: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e461d627d5
commit
d385d9ee7a
|
@ -277,42 +277,14 @@ srm_paging_stop (void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_DISCONTIGMEM
|
#ifndef CONFIG_DISCONTIGMEM
|
||||||
static void __init
|
|
||||||
printk_memory_info(void)
|
|
||||||
{
|
|
||||||
unsigned long codesize, reservedpages, datasize, initsize, tmp;
|
|
||||||
extern int page_is_ram(unsigned long) __init;
|
|
||||||
|
|
||||||
/* printk all informations */
|
|
||||||
reservedpages = 0;
|
|
||||||
for (tmp = 0; tmp < max_low_pfn; tmp++)
|
|
||||||
/*
|
|
||||||
* Only count reserved RAM pages
|
|
||||||
*/
|
|
||||||
if (page_is_ram(tmp) && PageReserved(mem_map+tmp))
|
|
||||||
reservedpages++;
|
|
||||||
|
|
||||||
codesize = (unsigned long) &_etext - (unsigned long) &_text;
|
|
||||||
datasize = (unsigned long) &_edata - (unsigned long) &_data;
|
|
||||||
initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin;
|
|
||||||
|
|
||||||
printk("Memory: %luk/%luk available (%luk kernel code, %luk reserved, %luk data, %luk init)\n",
|
|
||||||
nr_free_pages() << (PAGE_SHIFT-10),
|
|
||||||
max_mapnr << (PAGE_SHIFT-10),
|
|
||||||
codesize >> 10,
|
|
||||||
reservedpages << (PAGE_SHIFT-10),
|
|
||||||
datasize >> 10,
|
|
||||||
initsize >> 10);
|
|
||||||
}
|
|
||||||
|
|
||||||
void __init
|
void __init
|
||||||
mem_init(void)
|
mem_init(void)
|
||||||
{
|
{
|
||||||
max_mapnr = num_physpages = max_low_pfn;
|
max_mapnr = max_low_pfn;
|
||||||
free_all_bootmem();
|
free_all_bootmem();
|
||||||
high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
|
high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
|
||||||
|
|
||||||
printk_memory_info();
|
mem_init_print_info(NULL);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_DISCONTIGMEM */
|
#endif /* CONFIG_DISCONTIGMEM */
|
||||||
|
|
||||||
|
|
|
@ -129,8 +129,6 @@ setup_memory_node(int nid, void *kernel_end)
|
||||||
if (node_max_pfn > max_low_pfn)
|
if (node_max_pfn > max_low_pfn)
|
||||||
max_pfn = max_low_pfn = node_max_pfn;
|
max_pfn = max_low_pfn = node_max_pfn;
|
||||||
|
|
||||||
num_physpages += node_max_pfn - node_min_pfn;
|
|
||||||
|
|
||||||
#if 0 /* we'll try this one again in a little while */
|
#if 0 /* we'll try this one again in a little while */
|
||||||
/* Cute trick to make sure our local node data is on local memory */
|
/* Cute trick to make sure our local node data is on local memory */
|
||||||
node_data[nid] = (pg_data_t *)(__va(node_min_pfn << PAGE_SHIFT));
|
node_data[nid] = (pg_data_t *)(__va(node_min_pfn << PAGE_SHIFT));
|
||||||
|
@ -324,37 +322,9 @@ void __init paging_init(void)
|
||||||
|
|
||||||
void __init mem_init(void)
|
void __init mem_init(void)
|
||||||
{
|
{
|
||||||
unsigned long codesize, reservedpages, datasize, initsize, pfn;
|
|
||||||
extern int page_is_ram(unsigned long) __init;
|
|
||||||
unsigned long nid, i;
|
|
||||||
high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT);
|
high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT);
|
||||||
|
free_all_bootmem();
|
||||||
reservedpages = 0;
|
mem_init_print_info(NULL);
|
||||||
for_each_online_node(nid) {
|
|
||||||
/*
|
|
||||||
* This will free up the bootmem, ie, slot 0 memory
|
|
||||||
*/
|
|
||||||
free_all_bootmem_node(NODE_DATA(nid));
|
|
||||||
|
|
||||||
pfn = NODE_DATA(nid)->node_start_pfn;
|
|
||||||
for (i = 0; i < node_spanned_pages(nid); i++, pfn++)
|
|
||||||
if (page_is_ram(pfn) &&
|
|
||||||
PageReserved(nid_page_nr(nid, i)))
|
|
||||||
reservedpages++;
|
|
||||||
}
|
|
||||||
|
|
||||||
codesize = (unsigned long) &_etext - (unsigned long) &_text;
|
|
||||||
datasize = (unsigned long) &_edata - (unsigned long) &_data;
|
|
||||||
initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin;
|
|
||||||
|
|
||||||
printk("Memory: %luk/%luk available (%luk kernel code, %luk reserved, "
|
|
||||||
"%luk data, %luk init)\n",
|
|
||||||
nr_free_pages() << (PAGE_SHIFT-10),
|
|
||||||
num_physpages << (PAGE_SHIFT-10),
|
|
||||||
codesize >> 10,
|
|
||||||
reservedpages << (PAGE_SHIFT-10),
|
|
||||||
datasize >> 10,
|
|
||||||
initsize >> 10);
|
|
||||||
#if 0
|
#if 0
|
||||||
mem_stress();
|
mem_stress();
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue