[PATCH v4 0/3] mm: fix oom-killer not being invoked when demotion is enabled

Akinobu Mita posted 3 patches 3 weeks, 4 days ago
Documentation/mm/index.rst          |  1 +
Documentation/mm/numa_emulation.rst | 31 +++++++++++++++++++++++++++++
mm/numa_emulation.c                 | 26 ++++++++++++++++++++++++
mm/vmscan.c                         | 17 +++++++++++++++-
4 files changed, 74 insertions(+), 1 deletion(-)
create mode 100644 Documentation/mm/numa_emulation.rst
[PATCH v4 0/3] mm: fix oom-killer not being invoked when demotion is enabled
Posted by Akinobu Mita 3 weeks, 4 days ago
On systems with multiple memory-tiers consisting of DRAM and CXL memory,
the OOM killer is not invoked properly.

This patchset includes a fix for the issue and an enhancement that makes
the issue reproducible with numa emulation.

v4:
- remove unnecessary include of linux/node.h, suggested by Jonathan Cameron
- include linux/notifier.h for the notifier_block, suggested by Jonathan Cameron
- typo in abstruct distance value in the commit log and document
- add information about supported architectures in numa_emulation.rst
- add a code comment in can_demote()

v3: https://lore.kernel.org/linux-mm/20260108101535.50696-1-akinobu.mita@gmail.com/T
- rebase to linux-next (next-20260108), where demotion target has changed
  from node id to node mask.

v2: https://lore.kernel.org/linux-mm/20251222004834.10539-1-akinobu.mita@gmail.com/T
- fix the explanation about cmdline parameter in the commit log
- add document for NUMA emulation
- describe reproducibility with !mglru in the commit log
- removed unnecessary consideration for scan control when checking demotion_nid watermarks

v1: https://lore.kernel.org/linux-mm/20251208094028.214949-1-akinobu.mita@gmail.com/T/

original report:
- https://lore.kernel.org/lkml/20251022135735.246203-1-akinobu.mita@gmail.com/T

Akinobu Mita (3):
  mm: memory-tiers, numa_emu: enable to create memory tiers using fake
    numa nodes
  mm: numa_emu: add document for NUMA emulation
  mm/vmscan: don't demote if there is not enough free memory in the
    lower memory tier

 Documentation/mm/index.rst          |  1 +
 Documentation/mm/numa_emulation.rst | 31 +++++++++++++++++++++++++++++
 mm/numa_emulation.c                 | 26 ++++++++++++++++++++++++
 mm/vmscan.c                         | 17 +++++++++++++++-
 4 files changed, 74 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/mm/numa_emulation.rst

-- 
2.43.0