After READ_ONLY_THP_FOR_FS Kconfig is removed, this check becomes dead
code.

This changes hugepage_pmd_enabled() semantics. Previously, with
READ_ONLY_THP_FOR_FS enabled, hugepage_pmd_enabled() returned true whenever
/sys/kernel/mm/transparent_hugepage/enabled was set to "always" or
"madvise".

After this change, hugepage_pmd_enabled() is governed only by the anon and
shmem PMD THP controls. As a result, khugepaged collapse for file-backed
folios no longer runs unconditionally under the top-level THP setting, and
now depends on the anon/shmem PMD configuration.

Signed-off-by: Zi Yan <[email protected]>
---
 mm/khugepaged.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index ec609e53082e..79c985d7fa03 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -409,15 +409,12 @@ static inline int collapse_test_exit_or_disable(struct 
mm_struct *mm)
 static bool hugepage_pmd_enabled(void)
 {
        /*
-        * We cover the anon, shmem and the file-backed case here; file-backed
-        * hugepages, when configured in, are determined by the global control.
+        * We cover the anon and shmem cases here.
         * Anon pmd-sized hugepages are determined by the pmd-size control.
         * Shmem pmd-sized hugepages are also determined by its pmd-size 
control,
         * except when the global shmem_huge is set to SHMEM_HUGE_DENY.
+        * The file-backed case is determined by the anon and shmem cases.
         */
-       if (IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) &&
-           hugepage_global_enabled())
-               return true;
        if (test_bit(PMD_ORDER, &huge_anon_orders_always))
                return true;
        if (test_bit(PMD_ORDER, &huge_anon_orders_madvise))
-- 
2.43.0


Reply via email to