path: root/mm/sparse-vmemmap.c
diff options
authorYasunori Goto <>2007-10-16 01:26:14 -0700
committerLinus Torvalds <>2007-10-16 09:43:02 -0700
commit98f3cfc1dc7a53b629d43b7844a9b3f786213048 (patch)
treede98ff0e3c25b01863c31abc0f3054de978b9ef8 /mm/sparse-vmemmap.c
parent48e94196a533dbee17c252bf80d0310fb8c8c2eb (diff)
memory hotplug: Hot-add with sparsemem-vmemmap
This patch is to avoid panic when memory hot-add is executed with sparsemem-vmemmap. Current vmemmap-sparsemem code doesn't support memory hot-add. Vmemmap must be populated when hot-add. This is for 2.6.23-rc2-mm2. Todo: # Even if this patch is applied, the message "[xxxx-xxxx] potential offnode page_structs" is displayed. To allocate memmap on its node, memmap (and pgdat) must be initialized itself like chicken and egg relationship. # vmemmap_unpopulate will be necessary for followings. - For cancel hot-add due to error. - For unplug. Signed-off-by: Yasunori Goto <> Cc: Andy Whitcroft <> Cc: Christoph Lameter <> Cc: Mel Gorman <> Signed-off-by: Andrew Morton <> Signed-off-by: Linus Torvalds <>
Diffstat (limited to 'mm/sparse-vmemmap.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c
index 4f2d4854f840..d3b718b0c20a 100644
--- a/mm/sparse-vmemmap.c
+++ b/mm/sparse-vmemmap.c
@@ -137,7 +137,7 @@ int __meminit vmemmap_populate_basepages(struct page *start_page,
return 0;
-struct page __init *sparse_early_mem_map_populate(unsigned long pnum, int nid)
+struct page * __meminit sparse_mem_map_populate(unsigned long pnum, int nid)
struct page *map = pfn_to_page(pnum * PAGES_PER_SECTION);
int error = vmemmap_populate(map, PAGES_PER_SECTION, nid);