Rework to unify Huge/LRU/non-LRU folio isolation in do_migrate_range() and isolate_migratepages_block(), then convert isolate_movable/lru_page() to folio_isolate_movable/lru(), finally cleanup isolate_moveable/lru_page(). v2: - rename isolate_movable_folio() to isolate_movable_folio() and address the issue about it, per Zi Yan, Vishal Moola - check hwpoisoned page firstly in do_migrate_range(), which help to unify Hugepage/LRU/non-LRU movable folio isolation, suggested by Zi Yan - re-order patches, per Vishal Moola. Kefeng Wang (10): mm: memory_hotplug: check hwpoisoned page firstly in do_migrate_range() mm: add isolate_folio_to_list() mm: memory_hotplug: unify Huge/LRU/non-LRU folio isolation mm: compaction: try get reference before non-lru movable folio migration mm: migrate: add folio_isolate_movable() mm: compaction: use folio_isolate_movable() mm: migrate: use folio_isolate_movable() mm: migrate: remove isolate_movable_page() mm: migrate_device: use more folio in migrate_device_unmap() mm: remove isolate_lru_page() Documentation/mm/page_migration.rst | 6 +- Documentation/mm/unevictable-lru.rst | 2 +- .../translations/zh_CN/mm/page_migration.rst | 6 +- include/linux/migrate.h | 5 +- mm/compaction.c | 38 ++++---- mm/filemap.c | 2 +- mm/folio-compat.c | 7 -- mm/internal.h | 3 +- mm/khugepaged.c | 6 +- mm/memory-failure.c | 21 +--- mm/memory_hotplug.c | 95 +++++++++++-------- mm/migrate.c | 60 ++++++++---- mm/migrate_device.c | 18 ++-- mm/swap.c | 2 +- 14 files changed, 145 insertions(+), 126 deletions(-) -- 2.27.0