diff --git a/mm/khugepaged.c b/mm/khugepaged.c index deea5c5cd9e8..d92b61423c6b 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -1967,6 +1967,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);