[PATCH 11/12] mm: khugepaged: allow khugepaged to check all shmem mTHP-sized orders

From: Baolin Wang

Date: Fri Sep 18 2026 - 00:00:21 EST


We are now ready to enable shmem mTHP collapse, allowing
thp_vma_allowable_orders() to check all permissible shmem large orders.

Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
---
mm/khugepaged.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 5c477ea16c6f..4b5e1f8ddf87 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -493,9 +493,14 @@ unsigned long collapse_possible_orders(struct vm_area_struct *vma,
{
unsigned long orders;

- /* If khugepaged is scanning an anonymous vma, allow mTHP collapse */
+ /*
+ * If khugepaged is scanning an anonymous or shmem vma,
+ * allow mTHP collapse.
+ */
if ((tva_flags == TVA_KHUGEPAGED) && vma_is_anonymous(vma))
orders = THP_ORDERS_ALL_ANON;
+ else if ((tva_flags == TVA_KHUGEPAGED) && vma_is_shmem(vma))
+ orders = THP_ORDERS_ALL_FILE_DEFAULT;
else
orders = BIT(HPAGE_PMD_ORDER);

--
2.47.3