memory-hotplug: allocate zone's pcp before onlining pages
authorWen Congyang <[email protected]>
Wed, 12 Dec 2012 00:01:01 +0000 (16:01 -0800)
committerLinus Torvalds <[email protected]>
Wed, 12 Dec 2012 01:22:23 +0000 (17:22 -0800)
commit6dcd73d7011ba9046f9b98e7f7c9d958f5810e6b
treee2cc08839a13745a21ade3d5ab22d8f8836ace80
parent3ac19f8efe26451cacac31d0be34fa9c51114c2a
memory-hotplug: allocate zone's pcp before onlining pages

We use __free_page() to put a page to buddy system when onlining pages.
__free_page() will store NR_FREE_PAGES in zone's pcp.vm_stat_diff, so we
should allocate zone's pcp before onlining pages, otherwise we will lose
some free pages.

[[email protected]: make zone_pcp_reset independent of MEMORY_HOTREMOVE]
Signed-off-by: Wen Congyang <[email protected]>
Cc: David Rientjes <[email protected]>
Cc: Jiang Liu <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Minchan Kim <[email protected]>
Cc: KOSAKI Motohiro <[email protected]>
Cc: Yasuaki Ishimatsu <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: Mel Gorman <[email protected]>
Signed-off-by: Michal Hocko <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/memory_hotplug.c
mm/page_alloc.c