[PATCH 4 of 6] hotplug-memory: use common online_page

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jeremy Fitzhardinge
Date: Thursday, April 3, 2008 - 5:05 pm

Apart from x86-32, all architectures use an identical online_page.
Define it weakly in mm/memory_hotplug.c so that architectures can
override it if necessary.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
---
 arch/ia64/mm/init.c   |    9 ---------
 arch/powerpc/mm/mem.c |    9 ---------
 arch/sh/mm/init.c     |    9 ---------
 arch/x86/mm/init_64.c |    9 ---------
 mm/memory_hotplug.c   |    9 +++++++++
 5 files changed, 9 insertions(+), 36 deletions(-)

diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -690,15 +690,6 @@
 }
 
 #ifdef CONFIG_MEMORY_HOTPLUG
-void online_page(struct page *page)
-{
-	ClearPageReserved(page);
-	init_page_count(page);
-	__free_page(page);
-	totalram_pages++;
-	num_physpages++;
-}
-
 int arch_add_memory(int nid, u64 start, u64 size)
 {
 	pg_data_t *pgdat;
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -94,15 +94,6 @@
 EXPORT_SYMBOL(phys_mem_access_prot);
 
 #ifdef CONFIG_MEMORY_HOTPLUG
-
-void online_page(struct page *page)
-{
-	ClearPageReserved(page);
-	init_page_count(page);
-	__free_page(page);
-	totalram_pages++;
-	num_physpages++;
-}
 
 #ifdef CONFIG_NUMA
 int memory_add_physaddr_to_nid(u64 start)
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -307,15 +307,6 @@
 #endif
 
 #ifdef CONFIG_MEMORY_HOTPLUG
-void online_page(struct page *page)
-{
-	ClearPageReserved(page);
-	init_page_count(page);
-	__free_page(page);
-	totalram_pages++;
-	num_physpages++;
-}
-
 int arch_add_memory(int nid, u64 start, u64 size)
 {
 	pg_data_t *pgdat;
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -624,15 +624,6 @@
 /*
  * Memory hotplug specific functions
  */
-void online_page(struct page *page)
-{
-	ClearPageReserved(page);
-	init_page_count(page);
-	__free_page(page);
-	totalram_pages++;
-	num_physpages++;
-}
-
 #ifdef CONFIG_MEMORY_HOTPLUG
 /*
  * Memory is added always to NORMAL zone. This means you will never get
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -145,6 +145,15 @@
 
 	pgdat->node_spanned_pages = max(old_pgdat_end_pfn, end_pfn) -
 					pgdat->node_start_pfn;
+}
+
+__weak void online_page(struct page *page)
+{
+	ClearPageReserved(page);
+	init_page_count(page);
+	__free_page(page);
+	totalram_pages++;
+	num_physpages++;
 }
 
 static void grow_zone_span(unsigned long start_pfn, unsigned long end_pfn)


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0 of 6] [RFC] another attempt at making hotplug mem ..., Jeremy Fitzhardinge, (Thu Apr 3, 5:05 pm)
[PATCH 1 of 6] hotplug-memory: refactor online_pages to se ..., Jeremy Fitzhardinge, (Thu Apr 3, 5:05 pm)
[PATCH 2 of 6] xen: make phys_to_machine structure dynamic, Jeremy Fitzhardinge, (Thu Apr 3, 5:05 pm)
[PATCH 3 of 6] xen-balloon: use memory hot-add to expand t ..., Jeremy Fitzhardinge, (Thu Apr 3, 5:05 pm)
[PATCH 4 of 6] hotplug-memory: use common online_page, Jeremy Fitzhardinge, (Thu Apr 3, 5:05 pm)
[PATCH 5 of 6] hotplug-memory: add section_ops, Jeremy Fitzhardinge, (Thu Apr 3, 5:05 pm)
[PATCH 6 of 6] xen-balloon: define a section_ops, Jeremy Fitzhardinge, (Thu Apr 3, 5:05 pm)
Re: [PATCH 5 of 6] hotplug-memory: add section_ops, Dave Hansen, (Thu Apr 3, 5:51 pm)
Re: [PATCH 4 of 6] hotplug-memory: use common online_page, Jeremy Fitzhardinge, (Thu Apr 3, 5:56 pm)
Re: [PATCH 4 of 6] hotplug-memory: use common online_page, Jeremy Fitzhardinge, (Thu Apr 3, 6:11 pm)
Re: [PATCH 5 of 6] hotplug-memory: add section_ops, Jeremy Fitzhardinge, (Thu Apr 3, 6:12 pm)
Re: [PATCH 1 of 6] hotplug-memory: refactor online_pages t ..., Jeremy Fitzhardinge, (Thu Apr 3, 6:20 pm)
Re: [PATCH 1 of 6] hotplug-memory: refactor online_pages t ..., Jeremy Fitzhardinge, (Thu Apr 3, 6:32 pm)
Re: [PATCH 5 of 6] hotplug-memory: add section_ops, KAMEZAWA Hiroyuki, (Thu Apr 3, 6:47 pm)
Re: [PATCH 5 of 6] hotplug-memory: add section_ops, Dave Hansen, (Thu Apr 3, 6:52 pm)
Re: [PATCH 5 of 6] hotplug-memory: add section_ops, Jeremy Fitzhardinge, (Thu Apr 3, 10:32 pm)
Re: [PATCH 1 of 6] hotplug-memory: refactor online_pages t ..., Jeremy Fitzhardinge, (Thu Apr 3, 10:34 pm)
Re: [PATCH 5 of 6] hotplug-memory: add section_ops, Jeremy Fitzhardinge, (Thu Apr 3, 10:35 pm)
Re: [PATCH 5 of 6] hotplug-memory: add section_ops, Dave Hansen, (Fri Apr 4, 7:22 am)
Re: [PATCH 5 of 6] hotplug-memory: add section_ops, Jeremy Fitzhardinge, (Fri Apr 4, 11:21 am)
Re: [PATCH 5 of 6] hotplug-memory: add section_ops, Christoph Lameter, (Fri Apr 4, 12:28 pm)
Re: [PATCH 5 of 6] hotplug-memory: add section_ops, Jeremy Fitzhardinge, (Fri Apr 4, 1:38 pm)