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 <[email protected]>
---
 mm/khugepaged.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 75b18ec4a6c3..a87918b7e18c 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -578,9 +578,14 @@ static 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


Reply via email to