
In page_alloc.c in the function capture_page_range there is a call to 
try_to_migrate_pages(), which is not defined unless
CONFIG_MEMORY_MIGRATE is turned on.  My first hackish fix was to 
#define try_to_migrate_pages(p1) to (NULL) in hopes that
will break us out of the loop.  This hackish fix is to just #define
out the whole loop.  I am leaning toward the real fix being to make
CONFIG_MEMORY_HOTPLUG depend on CONFIG_MEMORY_MIGRATE, but if we don't
want to tie them together this might still be useful.

CONFIG_MEMORY_HOTPLUG depends on CONFIG_MEMORY_MIGRATE is the right fix
in the long run but, for now, just use the ifdef.  This patch will not
be sumbitted upstream - daveh

Signed-off-by: Joel Schopp <jschopp@austin.ibm.com>
Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
---

 memhotplug-dave/mm/page_alloc.c |    3 +++
 1 files changed, 3 insertions(+)

diff -puN mm/page_alloc.c~Y1-ifdef-try_to_migrate_pages-FIXME mm/page_alloc.c
--- memhotplug/mm/page_alloc.c~Y1-ifdef-try_to_migrate_pages-FIXME	2004-11-12 16:52:34.000000000 -0800
+++ memhotplug-dave/mm/page_alloc.c	2004-11-12 16:52:34.000000000 -0800
@@ -762,6 +762,8 @@ retry:
 	remove_page_freearea(page, order);
 
 	rest = grab_capturing_pages(&page_list, start_pfn, nr_pages);
+
+#ifdef CONFIG_MEMORY_MIGRATE
 	remains = try_to_migrate_pages(&page_list);
 
 	if (rest || !list_empty(&page_list)) {
@@ -772,6 +774,7 @@ retry:
 		msleep(1000);
 		goto retry;
 	}
+#endif
 
 	/*
 	 * storing the last result (fp) keeps up from having
_
