Messages in this thread | | | Subject | Re: [PATCH 1/3] mm: Don't blindly assign fallback_migrate_page() | From | Richard Weinberger <> | Date | Fri, 17 Jun 2016 21:36:30 +0200 |
| |
Am 17.06.2016 um 20:27 schrieb Michal Hocko: > On Fri 17-06-16 18:55:45, Richard Weinberger wrote: >> Am 17.06.2016 um 18:28 schrieb Michal Hocko: >>> But doesn't this disable the page migration and so potentially reduce >>> the compaction success rate for the large pile of filesystems? Without >>> any hint about that? >> >> The WARN_ON_ONCE() is the hint. ;) > > Right. My reply turned a different way than I meant... I meant to say > that there might be different regressions caused by this change without much > hint that a particular warning would be the smoking gun... >
Okay, what about something like that? That way everything works as before and we don't have regressions but FS maintainers will notice the WARN_ON_ONCE() and hopefully review whether generic_migrate_page() is really suitable. If so, they can set their a_ops->migratepage to generic_migrate_page().
@@ -771,8 +773,15 @@ static int move_to_new_page(struct page *newpage, struct page *page, * is the most common path for page migration. */ rc = mapping->a_ops->migratepage(mapping, newpage, page, mode); - else - rc = fallback_migrate_page(mapping, newpage, page, mode); + else { + /* + * Dear filesystem maintainer, please verify whether + * generic_migrate_page() is suitable for your + * filesystem, especially wrt. page flag handling. + */ + WARN_ON_ONCE(1); + rc = generic_migrate_page(mapping, newpage, page, mode); + }
/* * When successful, old pagecache page->mapping must be cleared before
Thanks, //richard
| |