Re: [PATCH] mm: remove lru_add_drain_all in alloc_contig_range

From: David Hildenbrand
Date: Tue Feb 09 2021 - 14:47:00 EST


On 09.02.21 18:50, Minchan Kim wrote:
__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 called is pointless.

This patch removes it.

Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
---
mm/page_alloc.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 6446778cbc6b..f8fbee73dd6d 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -8603,8 +8603,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))) {


I was expecting some magical reason why this is still required but I am not able to find a compelling one. Maybe this is really some historical artifact.

Let's see if other people know why this call here still exists.

--
Thanks,

David / dhildenb