aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mm.h
diff options
context:
space:
mode:
authorYasunori Goto <y-goto@jp.fujitsu.com>2007-10-16 04:26:14 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 12:43:02 -0400
commit98f3cfc1dc7a53b629d43b7844a9b3f786213048 (patch)
treede98ff0e3c25b01863c31abc0f3054de978b9ef8 /include/linux/mm.h
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 <y-goto@jp.fujitsu.com> Cc: Andy Whitcroft <apw@shadowen.org> Cc: Christoph Lameter <clameter@sgi.com> Cc: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r--include/linux/mm.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 292c68623759..cc551f06728b 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1147,7 +1147,7 @@ extern int randomize_va_space;
1147 1147
1148const char * arch_vma_name(struct vm_area_struct *vma); 1148const char * arch_vma_name(struct vm_area_struct *vma);
1149 1149
1150struct page *sparse_early_mem_map_populate(unsigned long pnum, int nid); 1150struct page *sparse_mem_map_populate(unsigned long pnum, int nid);
1151pgd_t *vmemmap_pgd_populate(unsigned long addr, int node); 1151pgd_t *vmemmap_pgd_populate(unsigned long addr, int node);
1152pud_t *vmemmap_pud_populate(pgd_t *pgd, unsigned long addr, int node); 1152pud_t *vmemmap_pud_populate(pgd_t *pgd, unsigned long addr, int node);
1153pmd_t *vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node); 1153pmd_t *vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node);