[PATCH RESEND v2] mm: remove lru_add_drain_all in alloc_contig_range

From: Minchan Kim
Date: Wed Mar 03 2021 - 19:07:15 EST


__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