diff --git a/mm/khugepaged.c b/mm/khugepaged.c index c54e18494723..5b9e3e163009 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -1985,6 +1985,8 @@ static int collapse_file(struct mm_struct *mm, unsigned long addr, result = SCAN_FAIL; goto xa_unlocked; } + /* drain pagevecs to help isolate_lru_page() */ + lru_add_drain(); page = folio_file_page(folio, index); } else if (trylock_page(page)) { get_page(page);