[PATCH mm-new v7 5/5] mm: khugepaged: set to next mm direct when mm has MMF_DISABLE_THP_COMPLETELY

From: Vernon Yang

Date: Sat Feb 07 2026 - 03:18:40 EST


From: Vernon Yang <yanglincheng@xxxxxxxxxx>

When an mm with the MMF_DISABLE_THP_COMPLETELY flag is detected during
scanning, directly set khugepaged_scan.mm_slot to the next mm_slot,
reduce redundant operation.

Without this patch, entering khugepaged_scan_mm_slot() next time, we
will set khugepaged_scan.mm_slot to the next mm_slot.

With this patch, we will directly set khugepaged_scan.mm_slot to the
next mm_slot.

Signed-off-by: Vernon Yang <yanglincheng@xxxxxxxxxx>
Acked-by: David Hildenbrand (Red Hat) <david@xxxxxxxxxx>
Reviewed-by: Lance Yang <lance.yang@xxxxxxxxx>
Reviewed-by: Dev Jain <dev.jain@xxxxxxx>
Reviewed-by: Barry Song <baohua@xxxxxxxxxx>
---
mm/khugepaged.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 0d160e612e16..b3854d990fd9 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -2548,9 +2548,9 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages, enum scan_result
VM_BUG_ON(khugepaged_scan.mm_slot != slot);
/*
* Release the current mm_slot if this mm is about to die, or
- * if we scanned all vmas of this mm.
+ * if we scanned all vmas of this mm, or THP got disabled.
*/
- if (hpage_collapse_test_exit(mm) || !vma) {
+ if (hpage_collapse_test_exit_or_disable(mm) || !vma) {
/*
* Make sure that if mm_users is reaching zero while
* khugepaged runs here, khugepaged_exit will find
--
2.51.0