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

From: Yang Shi
Date: Mon Jun 06 2022 - 17:45:15 EST



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.

Added transhuge_vma_size_ok() helper to remove some duplicate code.


Yang Shi (7):
mm: khugepaged: check THP flag in hugepage_vma_check()
mm: thp: introduce transhuge_vma_size_ok() helper
mm: khugepaged: remove the redundant anon vma check
mm: khugepaged: use transhuge_vma_suitable replace open-code
mm: thp: kill transparent_hugepage_active()
mm: thp: kill __transhuge_page_enabled()
mm: khugepaged: reorg some khugepaged helpers

fs/proc/task_mmu.c | 2 +-
include/linux/huge_mm.h | 84 ++++++++++++++++++++++++++++------------------------------------------
include/linux/khugepaged.h | 21 ++----------------
mm/huge_memory.c | 64 +++++++++++++++++++++++++++++++++++++++++++++--------
mm/khugepaged.c | 78 +++++++++++++++--------------------------------------------------
mm/memory.c | 7 ++++--
6 files changed, 114 insertions(+), 142 deletions(-)