[PATCH v2, part3 12/12] mm: concentrate adjusting of totalram_pages

2013-03-16 Thread Jiang Liu
Concentrate code to modify totalram_pages into the mm core, so the arch
memory initialized code doesn't need to take care of it. With these
changes applied, only following functions from mm core modify global
variable totalram_pages:
free_bootmem_late(), free_all_bootmem(), free_all_bootmem_node(),
adjust_managed_page_count().

Signed-off-by: Jiang Liu 
---
 arch/alpha/mm/init.c |2 +-
 arch/alpha/mm/numa.c |2 +-
 arch/arm/mm/init.c   |3 +--
 arch/arm64/mm/init.c |2 +-
 arch/avr32/mm/init.c |2 --
 arch/blackfin/mm/init.c  |2 +-
 arch/c6x/mm/init.c   |2 +-
 arch/cris/mm/init.c  |2 +-
 arch/frv/mm/init.c   |2 +-
 arch/h8300/mm/init.c |2 +-
 arch/hexagon/mm/init.c   |3 +--
 arch/ia64/mm/init.c  |2 +-
 arch/m32r/mm/init.c  |2 +-
 arch/m68k/mm/init.c  |4 ++--
 arch/microblaze/mm/init.c|2 +-
 arch/mips/mm/init.c  |2 +-
 arch/mips/sgi-ip27/ip27-memory.c |2 +-
 arch/mn10300/mm/init.c   |2 +-
 arch/openrisc/mm/init.c  |2 +-
 arch/parisc/mm/init.c|4 ++--
 arch/powerpc/mm/mem.c|5 ++---
 arch/s390/mm/init.c  |2 +-
 arch/score/mm/init.c |2 +-
 arch/sh/mm/init.c|2 +-
 arch/sparc/mm/init_32.c  |3 +--
 arch/sparc/mm/init_64.c  |   10 --
 arch/tile/mm/init.c  |2 +-
 arch/um/kernel/mem.c |2 +-
 arch/unicore32/mm/init.c |2 +-
 arch/x86/mm/init_32.c|2 +-
 arch/x86/mm/init_64.c|2 +-
 arch/xtensa/mm/init.c|2 +-
 mm/bootmem.c |9 -
 mm/nobootmem.c   |7 ++-
 34 files changed, 51 insertions(+), 47 deletions(-)

diff --git a/arch/alpha/mm/init.c b/arch/alpha/mm/init.c
index 9930837..ca07a97 100644
--- a/arch/alpha/mm/init.c
+++ b/arch/alpha/mm/init.c
@@ -309,7 +309,7 @@ void __init
 mem_init(void)
 {
max_mapnr = num_physpages = max_low_pfn;
-   totalram_pages += free_all_bootmem();
+   free_all_bootmem();
high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
 
printk_memory_info();
diff --git a/arch/alpha/mm/numa.c b/arch/alpha/mm/numa.c
index 3388504..857452c 100644
--- a/arch/alpha/mm/numa.c
+++ b/arch/alpha/mm/numa.c
@@ -334,7 +334,7 @@ void __init mem_init(void)
/*
 * This will free up the bootmem, ie, slot 0 memory
 */
-   totalram_pages += free_all_bootmem_node(NODE_DATA(nid));
+   free_all_bootmem_node(NODE_DATA(nid));
 
pfn = NODE_DATA(nid)->node_start_pfn;
for (i = 0; i < node_spanned_pages(nid); i++, pfn++)
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index e922456..5925861 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -595,8 +595,7 @@ void __init mem_init(void)
 
/* this will put all unused low memory onto the freelists */
free_unused_memmap();
-
-   totalram_pages += free_all_bootmem();
+   free_all_bootmem();
 
 #ifdef CONFIG_SA
/* now that our DMA memory is actually so designated, we can free it */
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index b87bdb8..0f2cf5d 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -284,7 +284,7 @@ void __init mem_init(void)
free_unused_memmap();
 #endif
 
-   totalram_pages += free_all_bootmem();
+   free_all_bootmem();
 
reserved_pages = free_pages = 0;
 
diff --git a/arch/avr32/mm/init.c b/arch/avr32/mm/init.c
index 871f98a..7e8d55a 100644
--- a/arch/avr32/mm/init.c
+++ b/arch/avr32/mm/init.c
@@ -117,8 +117,6 @@ void __init mem_init(void)
if (pgdat->node_spanned_pages != 0)
node_pages = free_all_bootmem_node(pgdat);
 
-   totalram_pages += node_pages;
-
for (i = 0; i < node_pages; i++)
if (PageReserved(pgdat->node_mem_map + i))
reservedpages++;
diff --git a/arch/blackfin/mm/init.c b/arch/blackfin/mm/init.c
index e64286b..1cc8607 100644
--- a/arch/blackfin/mm/init.c
+++ b/arch/blackfin/mm/init.c
@@ -104,7 +104,7 @@ void __init mem_init(void)
printk(KERN_DEBUG "Kernel managed physical pages: %lu\n", 
num_physpages);
 
/* This will put all low memory onto the freelists. */
-   totalram_pages = free_all_bootmem();
+   free_all_bootmem();
 
reservedpages = 0;
for (tmp = ARCH_PFN_OFFSET; tmp < max_mapnr; tmp++)
diff --git a/arch/c6x/mm/init.c b/arch/c6x/mm/init.c
index ce39b48..2c51474 100644
--- a/arch/c6x/mm/init.c
+++ b/arch/c6x/mm/init.c
@@ -64,7 +64,7 @@ void __init mem_init(void)
high_memory = (void *)(memory_end & PAGE_MASK);
 
/* this will put 

[PATCH v2, part3 12/12] mm: concentrate adjusting of totalram_pages

2013-03-16 Thread Jiang Liu
Concentrate code to modify totalram_pages into the mm core, so the arch
memory initialized code doesn't need to take care of it. With these
changes applied, only following functions from mm core modify global
variable totalram_pages:
free_bootmem_late(), free_all_bootmem(), free_all_bootmem_node(),
adjust_managed_page_count().

Signed-off-by: Jiang Liu jiang@huawei.com
---
 arch/alpha/mm/init.c |2 +-
 arch/alpha/mm/numa.c |2 +-
 arch/arm/mm/init.c   |3 +--
 arch/arm64/mm/init.c |2 +-
 arch/avr32/mm/init.c |2 --
 arch/blackfin/mm/init.c  |2 +-
 arch/c6x/mm/init.c   |2 +-
 arch/cris/mm/init.c  |2 +-
 arch/frv/mm/init.c   |2 +-
 arch/h8300/mm/init.c |2 +-
 arch/hexagon/mm/init.c   |3 +--
 arch/ia64/mm/init.c  |2 +-
 arch/m32r/mm/init.c  |2 +-
 arch/m68k/mm/init.c  |4 ++--
 arch/microblaze/mm/init.c|2 +-
 arch/mips/mm/init.c  |2 +-
 arch/mips/sgi-ip27/ip27-memory.c |2 +-
 arch/mn10300/mm/init.c   |2 +-
 arch/openrisc/mm/init.c  |2 +-
 arch/parisc/mm/init.c|4 ++--
 arch/powerpc/mm/mem.c|5 ++---
 arch/s390/mm/init.c  |2 +-
 arch/score/mm/init.c |2 +-
 arch/sh/mm/init.c|2 +-
 arch/sparc/mm/init_32.c  |3 +--
 arch/sparc/mm/init_64.c  |   10 --
 arch/tile/mm/init.c  |2 +-
 arch/um/kernel/mem.c |2 +-
 arch/unicore32/mm/init.c |2 +-
 arch/x86/mm/init_32.c|2 +-
 arch/x86/mm/init_64.c|2 +-
 arch/xtensa/mm/init.c|2 +-
 mm/bootmem.c |9 -
 mm/nobootmem.c   |7 ++-
 34 files changed, 51 insertions(+), 47 deletions(-)

diff --git a/arch/alpha/mm/init.c b/arch/alpha/mm/init.c
index 9930837..ca07a97 100644
--- a/arch/alpha/mm/init.c
+++ b/arch/alpha/mm/init.c
@@ -309,7 +309,7 @@ void __init
 mem_init(void)
 {
max_mapnr = num_physpages = max_low_pfn;
-   totalram_pages += free_all_bootmem();
+   free_all_bootmem();
high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
 
printk_memory_info();
diff --git a/arch/alpha/mm/numa.c b/arch/alpha/mm/numa.c
index 3388504..857452c 100644
--- a/arch/alpha/mm/numa.c
+++ b/arch/alpha/mm/numa.c
@@ -334,7 +334,7 @@ void __init mem_init(void)
/*
 * This will free up the bootmem, ie, slot 0 memory
 */
-   totalram_pages += free_all_bootmem_node(NODE_DATA(nid));
+   free_all_bootmem_node(NODE_DATA(nid));
 
pfn = NODE_DATA(nid)-node_start_pfn;
for (i = 0; i  node_spanned_pages(nid); i++, pfn++)
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index e922456..5925861 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -595,8 +595,7 @@ void __init mem_init(void)
 
/* this will put all unused low memory onto the freelists */
free_unused_memmap(meminfo);
-
-   totalram_pages += free_all_bootmem();
+   free_all_bootmem();
 
 #ifdef CONFIG_SA
/* now that our DMA memory is actually so designated, we can free it */
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index b87bdb8..0f2cf5d 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -284,7 +284,7 @@ void __init mem_init(void)
free_unused_memmap();
 #endif
 
-   totalram_pages += free_all_bootmem();
+   free_all_bootmem();
 
reserved_pages = free_pages = 0;
 
diff --git a/arch/avr32/mm/init.c b/arch/avr32/mm/init.c
index 871f98a..7e8d55a 100644
--- a/arch/avr32/mm/init.c
+++ b/arch/avr32/mm/init.c
@@ -117,8 +117,6 @@ void __init mem_init(void)
if (pgdat-node_spanned_pages != 0)
node_pages = free_all_bootmem_node(pgdat);
 
-   totalram_pages += node_pages;
-
for (i = 0; i  node_pages; i++)
if (PageReserved(pgdat-node_mem_map + i))
reservedpages++;
diff --git a/arch/blackfin/mm/init.c b/arch/blackfin/mm/init.c
index e64286b..1cc8607 100644
--- a/arch/blackfin/mm/init.c
+++ b/arch/blackfin/mm/init.c
@@ -104,7 +104,7 @@ void __init mem_init(void)
printk(KERN_DEBUG Kernel managed physical pages: %lu\n, 
num_physpages);
 
/* This will put all low memory onto the freelists. */
-   totalram_pages = free_all_bootmem();
+   free_all_bootmem();
 
reservedpages = 0;
for (tmp = ARCH_PFN_OFFSET; tmp  max_mapnr; tmp++)
diff --git a/arch/c6x/mm/init.c b/arch/c6x/mm/init.c
index ce39b48..2c51474 100644
--- a/arch/c6x/mm/init.c
+++ b/arch/c6x/mm/init.c
@@ -64,7 +64,7 @@ void __init mem_init(void)
high_memory = (void *)(memory_end  PAGE_MASK);