[RFC PATCH v2 9/13] memory-hotplug : move register_page_bootmem_info_node and put_page_bootmem for sparse-vmemmap
From: Yasuaki Ishimatsu <hidden>
Date: 2012-07-03 06:02:42
Also in:
linux-acpi, linux-mm, linuxppc-dev
For implementing register_page_bootmem_info_node of sparse-vmemmap, register_page_bootmem_info_node and put_page_bootmem are moved to memory_hotplug.c CC: David Rientjes <rientjes@google.com> CC: Jiang Liu <redacted> CC: Len Brown <redacted> CC: Benjamin Herrenschmidt <benh@kernel.crashing.org> CC: Paul Mackerras <redacted> CC: Christoph Lameter <redacted> Cc: Minchan Kim <redacted> CC: Andrew Morton <akpm@linux-foundation.org> CC: KOSAKI Motohiro <redacted> Signed-off-by: Yasuaki Ishimatsu <redacted> --- include/linux/memory_hotplug.h | 9 --------- mm/memory_hotplug.c | 8 ++++++-- 2 files changed, 6 insertions(+), 11 deletions(-) Index: linux-3.5-rc4/include/linux/memory_hotplug.h ===================================================================
--- linux-3.5-rc4.orig/include/linux/memory_hotplug.h 2012-07-03 14:22:10.170116406 +0900
+++ linux-3.5-rc4/include/linux/memory_hotplug.h 2012-07-03 14:22:14.409063086 +0900@@ -160,17 +160,8 @@ static inline void arch_refresh_nodedata #endif /* CONFIG_NUMA */ #endif /* CONFIG_HAVE_ARCH_NODEDATA_EXTENSION */ -#ifdef CONFIG_SPARSEMEM_VMEMMAP -static inline void register_page_bootmem_info_node(struct pglist_data *pgdat) -{ -} -static inline void put_page_bootmem(struct page *page) -{ -} -#else extern void register_page_bootmem_info_node(struct pglist_data *pgdat); extern void put_page_bootmem(struct page *page); -#endif /* * Lock for memory hotplug guarantees 1) all callbacks for memory hotplug
Index: linux-3.5-rc4/mm/memory_hotplug.c ===================================================================
--- linux-3.5-rc4.orig/mm/memory_hotplug.c 2012-07-03 14:22:12.299089413 +0900
+++ linux-3.5-rc4/mm/memory_hotplug.c 2012-07-03 14:22:14.419062959 +0900@@ -91,7 +91,6 @@ static void release_memory_resource(stru } #ifdef CONFIG_MEMORY_HOTPLUG_SPARSE -#ifndef CONFIG_SPARSEMEM_VMEMMAP static void get_page_bootmem(unsigned long info, struct page *page, unsigned long type) {
@@ -127,6 +126,7 @@ void __ref put_page_bootmem(struct page } +#ifndef CONFIG_SPARSEMEM_VMEMMAP static void register_page_bootmem_info_section(unsigned long start_pfn) { unsigned long *usemap, mapsize, section_nr, i;
@@ -163,6 +163,11 @@ static void register_page_bootmem_info_s get_page_bootmem(section_nr, page, MIX_SECTION_INFO); } +#else +static inline void register_page_bootmem_info_section(unsigned long start_pfn) +{ +} +#endif void register_page_bootmem_info_node(struct pglist_data *pgdat) {
@@ -198,7 +203,6 @@ void register_page_bootmem_info_node(str register_page_bootmem_info_section(pfn); } -#endif /* !CONFIG_SPARSEMEM_VMEMMAP */ static void grow_zone_span(struct zone *zone, unsigned long start_pfn, unsigned long end_pfn)