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 Signed-off-by: Dave Hansen --- 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-07-28 13:50:37.000000000 -0700 +++ memhotplug-dave/include/linux/mmigrate.h 2005-07-28 13:50:37.000000000 -0700 @@ -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-07-28 13:50:37.000000000 -0700 +++ memhotplug-dave/mm/mmigrate.c 2005-07-28 13:50:37.000000000 -0700 @@ -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)) _