On Mon 23-01-17 22:50:10, ysxie@xxxxxxxxxxx wrote: > From: Yisheng Xie <xieyisheng1@xxxxxxxxxx> > > This patch is to extends soft offlining framework to support > non-lru page, which already support migration after > commit bda807d44454 ("mm: migrate: support non-lru movable page > migration") > > When memory corrected errors occur on a non-lru movable page, > we can choose to stop using it by migrating data onto another > page and disable the original (maybe half-broken) one. > > Signed-off-by: Yisheng Xie <xieyisheng1@xxxxxxxxxx> > Suggested-by: Michal Hocko <mhocko@xxxxxxxxxx> > Suggested-by: Minchan Kim <minchan@xxxxxxxxxx> > Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> This doesn't compile with CONFIG_MIGRATION=n mm/memory-failure.c: In function '__soft_offline_page': mm/memory-failure.c:1656:3: error: implicit declaration of function 'isolate_movable_page' [-Werror=implicit-function-declaration] ret = !isolate_movable_page(page, ISOLATE_UNEVICTABLE); ^ cc1: some warnings being treated as errors I guess the following should handle the problem --- diff --git a/include/linux/migrate.h b/include/linux/migrate.h index ae8d475a9385..1da7a1f99fc7 100644 --- a/include/linux/migrate.h +++ b/include/linux/migrate.h @@ -57,6 +57,11 @@ static inline int migrate_pages(struct list_head *l, new_page_t new, int reason) { return -ENOSYS; } +static inline bool isolate_movable_page(struct page *page, isolate_mode_t mode) +{ + return -EBUSY; +} + static inline int migrate_prep(void) { return -ENOSYS; } static inline int migrate_prep_local(void) { return -ENOSYS; } At least it compiles fine now. I have to look at the patch yet. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>