The patch titled Subject: mm: remove VM_EXEC requirement for THP eligibility has been added to the -mm mm-unstable branch. Its filename is mm-remove-vm_exec-requirement-for-thp-eligibility.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-remove-vm_exec-requirement-for-thp-eligibility.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Fangrui Song <maskray@xxxxxxxxxx> Subject: mm: remove VM_EXEC requirement for THP eligibility Date: Tue, 19 Dec 2023 21:41:23 -0800 Commit e6be37b2e7bd ("mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled()") introduced the VM_EXEC requirement, which is not strictly needed. lld's default --rosegment option and GNU ld's -z separate-code option (default on Linux/x86 since binutils 2.31) create a read-only PT_LOAD segment without the PF_X flag, which should be eligible for THP. Certain architectures support medium and large code models, where .lrodata may be placed in a separate read-only PT_LOAD segment, which should be eligible for THP as well. Link: https://lkml.kernel.org/r/20231220054123.1266001-1-maskray@xxxxxxxxxx Signed-off-by: Fangrui Song <maskray@xxxxxxxxxx> Cc: Miaohe Lin <linmiaohe@xxxxxxxxxx> Cc: Song Liu <songliubraving@xxxxxx> Cc: Yang Shi <shy828301@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/huge_mm.h | 1 - 1 file changed, 1 deletion(-) --- a/include/linux/huge_mm.h~mm-remove-vm_exec-requirement-for-thp-eligibility +++ a/include/linux/huge_mm.h @@ -206,7 +206,6 @@ static inline bool file_thp_enabled(stru inode = vma->vm_file->f_inode; return (IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS)) && - (vma->vm_flags & VM_EXEC) && !inode_is_open_for_write(inode) && S_ISREG(inode->i_mode); } _ Patches currently in -mm which might be from maskray@xxxxxxxxxx are mm-remove-vm_exec-requirement-for-thp-eligibility.patch