aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-04-28 05:12:03 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-28 11:58:17 -0400
commit180c06efce691f2b721dd0d965079827bdd7ee03 (patch)
tree6d5dbde8f341544bbd212e9d376af1e7880a4229 /arch/sh/mm
parentea01ea937dcae2caa146dea1918cccf2f16ed3c4 (diff)
hotplug-memory: make online_page() common
All architectures use an effectively identical definition of online_page(), so just make it common code. x86-64, ia64, powerpc and sh are actually identical; x86-32 is slightly different. x86-32's differences arise because it puts its hotplug pages in the highmem zone. We can handle this in the generic code by inspecting the page to see if its in highmem, and update the totalhigh_pages count appropriately. This leaves init_32.c:free_new_highpage with a single caller, so I folded it into add_one_highpage_init. I also removed an incorrect comment referring to the NUMA case; any NUMA details have already been dealt with by the time online_page() is called. [akpm@linux-foundation.org: fix indenting] Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Acked-by: Dave Hansen <dave@linux.vnet.ibm.com> Reviewed-by: KAMEZAWA Hiroyuki <kamez.hiroyu@jp.fujitsu.com> Tested-by: KAMEZAWA Hiroyuki <kamez.hiroyu@jp.fujitsu.com> Cc: Yasunori Goto <y-goto@jp.fujitsu.com> Cc: Christoph Lameter <clameter@sgi.com> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Yasunori Goto <y-goto@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/sh/mm')
-rw-r--r--arch/sh/mm/init.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index 53dde0607362..d7df26bd1e54 100644
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -307,15 +307,6 @@ void free_initrd_mem(unsigned long start, unsigned long end)
307#endif 307#endif
308 308
309#ifdef CONFIG_MEMORY_HOTPLUG 309#ifdef CONFIG_MEMORY_HOTPLUG
310void online_page(struct page *page)
311{
312 ClearPageReserved(page);
313 init_page_count(page);
314 __free_page(page);
315 totalram_pages++;
316 num_physpages++;
317}
318
319int arch_add_memory(int nid, u64 start, u64 size) 310int arch_add_memory(int nid, u64 start, u64 size)
320{ 311{
321 pg_data_t *pgdat; 312 pg_data_t *pgdat;