aboutsummaryrefslogtreecommitdiffstats
path: root/mm/bootmem.c
diff options
context:
space:
mode:
authorJiang Liu <liuj97@gmail.com>2013-07-03 18:03:24 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-03 19:07:33 -0400
commit0c988534737a358fdff42fcce78f0ff1a12dbfc5 (patch)
tree8327783ebf8d9905b00e51908a210134dc55a035 /mm/bootmem.c
parent3dcc0571cd64816309765b7c7e4691a4cadf2ee7 (diff)
mm: concentrate modification of totalram_pages into the mm core
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(). With this patch applied, it will be much more easier for us to keep totalram_pages and zone->managed_pages in consistence. Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Acked-by: David Howells <dhowells@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: <sworddragon2@aol.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Chris Metcalf <cmetcalf@tilera.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Cc: Jianguo Wu <wujianguo@huawei.com> Cc: Joonsoo Kim <js1304@gmail.com> Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Cc: Mel Gorman <mel@csn.ul.ie> Cc: Michel Lespinasse <walken@google.com> Cc: Minchan Kim <minchan@kernel.org> Cc: Rik van Riel <riel@redhat.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Tang Chen <tangchen@cn.fujitsu.com> Cc: Tejun Heo <tj@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Wen Congyang <wency@cn.fujitsu.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com> Cc: Yinghai Lu <yinghai@kernel.org> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/bootmem.c')
-rw-r--r--mm/bootmem.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/mm/bootmem.c b/mm/bootmem.c
index eb792323187b..58609bbf584e 100644
--- a/mm/bootmem.c
+++ b/mm/bootmem.c
@@ -271,9 +271,14 @@ void __init reset_all_zones_managed_pages(void)
271 */ 271 */
272unsigned long __init free_all_bootmem_node(pg_data_t *pgdat) 272unsigned long __init free_all_bootmem_node(pg_data_t *pgdat)
273{ 273{
274 unsigned long pages;
275
274 register_page_bootmem_info_node(pgdat); 276 register_page_bootmem_info_node(pgdat);
275 reset_node_managed_pages(pgdat); 277 reset_node_managed_pages(pgdat);
276 return free_all_bootmem_core(pgdat->bdata); 278 pages = free_all_bootmem_core(pgdat->bdata);
279 totalram_pages += pages;
280
281 return pages;
277} 282}
278 283
279/** 284/**
@@ -291,6 +296,8 @@ unsigned long __init free_all_bootmem(void)
291 list_for_each_entry(bdata, &bdata_list, list) 296 list_for_each_entry(bdata, &bdata_list, list)
292 total_pages += free_all_bootmem_core(bdata); 297 total_pages += free_all_bootmem_core(bdata);
293 298
299 totalram_pages += total_pages;
300
294 return total_pages; 301 return total_pages;
295} 302}
296 303