[PATCH 0/8] mm: Fix several issues with unaccepted memory

Kirill A. Shutemov posted 8 patches 1 year, 4 months ago
There is a newer version of this series
include/linux/mmzone.h     |   1 +
include/linux/page-flags.h |   3 +
kernel/sched/fair.c        |   2 +-
mm/internal.h              |   8 +++
mm/page_alloc.c            | 120 ++++++++++++++++++++++++-------------
mm/page_isolation.c        |   8 +++
mm/vmscan.c                |   2 +-
7 files changed, 100 insertions(+), 44 deletions(-)
[PATCH 0/8] mm: Fix several issues with unaccepted memory
Posted by Kirill A. Shutemov 1 year, 4 months ago
The patchset addresses several issues related to unaccepted memory.

The most severe issue is a kswapd hang, which is fixed by patch 1/8.

Patch 2/8 ensures that __alloc_pages_bulk() will not exhaust all
accepted memory without accepting more.

Patches 3/8-5/8 are preparations for patch 6/8, which fixes
alloc_config_page() on machines with unaccepted memory. This allows, for
example, the allocation of gigantic pages at runtime.

Patches 7/8-8/8 enable the kernel to accept memory up to the promo
watermark.

I believe only the first patch deserves backporting.

Please review. Any feedback is welcome.

Kirill A. Shutemov (8):
  mm: Fix endless reclaim on machines with unaccepted memory
  mm: Accept memory in __alloc_pages_bulk().
  mm: Introduce PageUnaccepted() page type
  mm: Rename accept_page() to accept_page_memory()
  mm: Add a helper to accept page
  mm: page_isolation: Handle unaccepted memory isolation
  mm: Introduce promo_wmark_pages()
  mm: Accept to promo watermark

 include/linux/mmzone.h     |   1 +
 include/linux/page-flags.h |   3 +
 kernel/sched/fair.c        |   2 +-
 mm/internal.h              |   8 +++
 mm/page_alloc.c            | 120 ++++++++++++++++++++++++-------------
 mm/page_isolation.c        |   8 +++
 mm/vmscan.c                |   2 +-
 7 files changed, 100 insertions(+), 44 deletions(-)

-- 
2.43.0