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(-)