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. b/fs/proc/task_mmu.c | 4 +- b/include/linux/huge_mm.h | 102 ++++++++++++++++++++++++++----------------------------------------- b/include/linux/khugepaged.h | 21 +------------ b/mm/huge_memory.c | 74 ++++++++++++++++++++++++++++++++++++------------ b/mm/khugepaged.c | 92 ++++++++++++++++-------------------------------------------- b/mm/memory.c | 6 ++- 6 files changed, 129 insertions(+), 170 deletions(-)