[mm-unstable v5 PATCH 0/7] Cleanup transhuge_xxx helpers

From: Yang Shi
Date: Thu Jun 16 2022 - 13:48:53 EST



v5: * Removed transparent_hugepage_active() for !THP, per Zach.
Patch 4/7 and 5/7 were updated accordingly.
* Collected review tags.
v4: * Consolidated the transhuge_vma_size_ok() helper proposed in the
earlier versions into transhuge_vma_suitable(), per Zach.
* Fixed the regression introduced by patch 3/7, per Zach and Miaohe.
* Reworded the comment for transhuge_vma_suitable(), per Zach.
* Removed khugepaged_enter() per Miaohe.
* More comments for hugepage_vma_check(), per Zach.
* Squashed patch 4/7 (mm: khugepaged: use transhuge_vma_suitable replace open-code)
in the earlier version into patch 2/7 of this version.
* Minor correction to the doc about THPeligible (patch 7/7), so the
total number of patches is kept 7.
v3: * Fixed the comment from Willy
v2: * Rebased to the latest mm-unstable
* Fixed potential regression for smaps's THPeligible

This series is the follow-up of the discussion about cleaning up transhuge_xxx
helpers at https://lore.kernel.org/linux-mm/627a71f8-e879-69a5-ceb3-fc8d29d2f7f1@xxxxxxx/.

THP has a bunch of helpers that do VMA sanity check for different paths, they
do the similar checks for the most callsites and have a lot duplicate codes.
And it is confusing what helpers should be used at what conditions.

This series reorganized and cleaned up the code so that we could consolidate
all the checks into hugepage_vma_check().

The transhuge_vma_enabled(), transparent_hugepage_active() and
__transparent_hugepage_enabled() are killed by this series.


Yang Shi (7):
mm: khugepaged: check THP flag in hugepage_vma_check()
mm: thp: consolidate vma size check to transhuge_vma_suitable
mm: khugepaged: better comments for anon vma check in hugepage_vma_revalidate
mm: thp: kill transparent_hugepage_active()
mm: thp: kill __transhuge_page_enabled()
mm: khugepaged: reorg some khugepaged helpers
doc: proc: fix the description to THPeligible

Documentation/filesystems/proc.rst | 4 ++-
fs/proc/task_mmu.c | 2 +-
include/linux/huge_mm.h | 80 +++++++++++++++++++----------------------------------------
include/linux/khugepaged.h | 30 ----------------------
mm/huge_memory.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
mm/khugepaged.c | 84 +++++++++++++++++++-------------------------------------------
mm/memory.c | 7 ++++--
7 files changed, 130 insertions(+), 158 deletions(-)