

This patch allows architecture dependent code to move some data
related with oldpage to new one. Particularly PG_arch_1 flag
is a good example.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
---

 memhotplug-dave/include/linux/mmigrate.h |    6 ++++++
 memhotplug-dave/mm/mmigrate.c            |    2 ++
 2 files changed, 8 insertions(+)

diff -puN include/linux/mmigrate.h~AA-PM-08-arch-migrate include/linux/mmigrate.h
--- memhotplug/include/linux/mmigrate.h~AA-PM-08-arch-migrate	2005-03-28 16:38:13.000000000 -0800
+++ memhotplug-dave/include/linux/mmigrate.h	2005-03-28 16:38:13.000000000 -0800
@@ -8,4 +8,10 @@
 extern struct page * migrate_onepage(struct page *);
 extern int try_to_migrate_pages(struct list_head *);
 
+#ifdef ARCH_HAS_PAGEMIGRATION
+extern void arch_migrate_page(struct page *, struct page *);
+#else
+#define arch_migrate_page(page, newpage)  do { } while(0)
+#endif
+
 #endif /* _LINUX_MEMHOTPLUG_H */
diff -puN mm/mmigrate.c~AA-PM-08-arch-migrate mm/mmigrate.c
--- memhotplug/mm/mmigrate.c~AA-PM-08-arch-migrate	2005-03-28 16:38:13.000000000 -0800
+++ memhotplug-dave/mm/mmigrate.c	2005-03-28 16:38:13.000000000 -0800
@@ -232,6 +232,8 @@ generic_migrate_page(struct page *page, 
 		/* fall thru */
 	}
 
+	arch_migrate_page(page, newpage);
+
 	if (PageError(page))
 		SetPageError(newpage);
 	if (PageReferenced(page))
_
