mbox series

[v3,0/5] mm: memory_hotplug: improve do_migrate_range()

Message ID 20240827114728.3212578-1-wangkefeng.wang@huawei.com (mailing list archive)
Headers show
Series mm: memory_hotplug: improve do_migrate_range() | expand

Message

Kefeng Wang Aug. 27, 2024, 11:47 a.m. UTC
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(-)