mbox series

[v7,0/4] mm, hwpoison: improve handling workload related to hugetlb and memory_hotplug

Message ID 20221024062012.1520887-1-naoya.horiguchi@linux.dev (mailing list archive)
Headers show
Series mm, hwpoison: improve handling workload related to hugetlb and memory_hotplug | expand

Message

Naoya Horiguchi Oct. 24, 2022, 6:20 a.m. UTC
Hi,

This patchset tries to solve the issue among memory_hotplug, hugetlb and hwpoison.
In this patchset, memory hotplug handles hwpoison pages like below:

  - hwpoison pages should not prevent memory hotremove,
  - memory block with hwpoison pages should not be onlined.

Changes in this version:

  - (patch 1/4) determine migratable_cleared atomically by introducing
    TESTCLEARHPAGEFLAG (suggested by Miaohe),
  - (patch 4/4) cleaned up declarations of counter API,
  - rebased onto akpm/mm-unstable on Oct 23.

Thanks,
Naoya Horiguchi

v1: https://lore.kernel.org/linux-mm/20220427042841.678351-1-naoya.horiguchi@linux.dev/T
v2: https://lore.kernel.org/linux-mm/20220905062137.1455537-1-naoya.horiguchi@linux.dev/T
v3-5: https://lore.kernel.org/linux-mm/20220921091359.25889-1-naoya.horiguchi@linux.dev/T
v6: https://lore.kernel.org/linux-mm/20221007010706.2916472-1-naoya.horiguchi@linux.dev/T
---
Summary:

Naoya Horiguchi (4):
      mm,hwpoison,hugetlb,memory_hotplug: hotremove memory section with hwpoisoned hugepage
      mm/hwpoison: move definitions of num_poisoned_pages_* to memory-failure.c
      mm/hwpoison: pass pfn to num_poisoned_pages_*()
      mm/hwpoison: introduce per-memory_block hwpoison counter

 arch/parisc/kernel/pdt.c |  5 ++--
 drivers/base/memory.c    | 38 ++++++++++++++++++++++++++
 include/linux/hugetlb.h  | 19 ++++++++++---
 include/linux/memory.h   |  3 +++
 include/linux/mm.h       | 29 ++++++++++++++++++--
 include/linux/swapops.h  | 24 ++---------------
 mm/hugetlb.c             |  9 ++++---
 mm/internal.h            |  8 ------
 mm/memory-failure.c      | 69 ++++++++++++++++++++++++++----------------------
 mm/sparse.c              |  2 --
 10 files changed, 130 insertions(+), 76 deletions(-)