]> git.baikalelectronics.ru Git - kernel.git/commitdiff
mm: remove lru_add_drain_all in alloc_contig_range
authorMinchan Kim <minchan@kernel.org>
Fri, 30 Apr 2021 06:01:01 +0000 (23:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 30 Apr 2021 18:20:42 +0000 (11:20 -0700)
__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] 6a24a175e594, ("mm: use put_page() to free page instead of putback_lru_page()"

Link: https://lkml.kernel.org/r/20210303204512.2863087-1-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page_alloc.c

index e59d5450d891a8a109ba0daec3af7807521a1ef4..c73557bb8c58a8c732cb91c2af35dcab0d156eb8 100644 (file)
@@ -8649,8 +8649,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))) {