__alloc_contig_migrate_range already has lru_add_drain_all call via migrate_prep. It's necessary to move LRU taget pages into LRU list to be able to isolated. However, lru_add_drain_all call after __alloc_contig_migrate_range is pointless since it has changed source page freeing from putback_lru_pages to put_page[1]. This patch removes it. [1] c6c919eb90e0, ("mm: use put_page() to free page instead of putback_lru_page()" Reviewed-by: Oscar Salvador <osalvador@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> --- * From v1 - https://lore.kernel.org/linux-mm/20210209175048.361638-1-minchan@xxxxxxxxxx/ * add [Acked|Reviewed]-by - vbabka, mhocko, osalvador * add history to the description - vbabka mm/page_alloc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index f10966e3b4a5..11579f0ddba9 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -8616,8 +8616,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, * isolated thus they won't get removed from buddy. */ - lru_add_drain_all(); - order = 0; outer_start = start; while (!PageBuddy(pfn_to_page(outer_start))) { -- 2.30.1.766.gb4fecdf3b7-goog