mm, cma: drain single zone pcplists
authorVlastimil Babka <[email protected]>
Wed, 10 Dec 2014 23:43:07 +0000 (15:43 -0800)
committerLinus Torvalds <[email protected]>
Thu, 11 Dec 2014 01:41:05 +0000 (17:41 -0800)
CMA allocation drains pcplists so that pages can merge back to buddy
allocator.  Since it operates on a single zone, we can reduce the
pcplists drain to the single zone, which is now possible.

The change should make CMA allocations faster and not disturbing
unrelated pcplists anymore.

Signed-off-by: Vlastimil Babka <[email protected]>
Cc: Naoya Horiguchi <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Rik van Riel <[email protected]>
Cc: Yasuaki Ishimatsu <[email protected]>
Cc: Zhang Yanfei <[email protected]>
Cc: Xishi Qiu <[email protected]>
Cc: Vladimir Davydov <[email protected]>
Cc: Joonsoo Kim <[email protected]>
Cc: Michal Nazarewicz <[email protected]>
Cc: Marek Szyprowski <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/page_alloc.c

index 13d5796de8f346aab5bf419db3da4143a3cfb559..f3a6bf12cbc11a3d2d2cbbbd57043efd92040767 100644 (file)
@@ -6416,7 +6416,7 @@ int alloc_contig_range(unsigned long start, unsigned long end,
         */
 
        lru_add_drain_all();
-       drain_all_pages(NULL);
+       drain_all_pages(cc.zone);
 
        order = 0;
        outer_start = start;