Unify hwpoisoned page handling and isolation of HugeTLB/LRU/non-LRU movable page, also convert to use folios in do_migrate_range(). --- Hi Andrew, since David and Miaohe give some more comments, no big changes, but need to update, so I revert v2+fix on and rebased on next-20240826 and resend, hope this is final version, please use this v3 if no more comments, thanks. v3: - update comment/typo in patch1, Per Jonathan/Miaohe - remove return value of unmap_posioned_folio() and print inside when could not lock mapping for mapped huge page, per Miaohe - drop incorrect KSM comments in do_migrate_range() - refactor isolate_folio_to_list(), per David - fix folio_put() in soft_offline_in_use_page(), per Miaohe - use hugetlb instead of huge in patch5, per David - collect ACK/RB v2-resend: - fix isolate_hugetlb() build error in patch1 v2: - address comments from David(eg, fix HWPoison check/use a folio for pfn calculation firstly) - fix lkp build errors for isolate_folio_to_list() - drop unnecessary comments and don't grab one more ref for hugetlb Kefeng Wang (5): mm: memory_hotplug: remove head variable in do_migrate_range() mm: memory-failure: add unmap_poisoned_folio() mm: memory_hotplug: check hwpoisoned page firstly in do_migrate_range() mm: migrate: add isolate_folio_to_list() mm: memory_hotplug: unify Huge/LRU/non-LRU movable folio isolation include/linux/migrate.h | 3 ++ mm/internal.h | 8 ++++ mm/memory-failure.c | 91 ++++++++++++++++++----------------------- mm/memory_hotplug.c | 65 ++++++++++++++--------------- mm/migrate.c | 26 ++++++++++++ 5 files changed, 106 insertions(+), 87 deletions(-) -- 2.27.0