]> git.baikalelectronics.ru Git - kernel.git/commit
mm: alloc_contig: re-allow CMA to compact FS pages
authorLucas Stach <l.stach@pengutronix.de>
Tue, 24 Jan 2017 23:18:05 +0000 (15:18 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 25 Jan 2017 00:26:14 +0000 (16:26 -0800)
commite6b20277d22b88a4a1cde6eb43497e0d256fc572
tree186092c8fa59000397fd7c573bc0ffeb896880d4
parent3b15f2d0ffa4b4b11b39c7df1a6ec1c46dfeec3f
mm: alloc_contig: re-allow CMA to compact FS pages

Commit 211865b3b4a6 ("mm, compaction: allow compaction for GFP_NOFS
requests") changed compation to skip FS pages if not explicitly allowed
to touch them, but missed to update the CMA compact_control.

This leads to a very high isolation failure rate, crippling performance
of CMA even on a lightly loaded system.  Re-allow CMA to compact FS
pages by setting the correct GFP flags, restoring CMA behavior and
performance to the kernel 4.9 level.

Fixes: 211865b3b4a6 (mm, compaction: allow compaction for GFP_NOFS requests)
Link: http://lkml.kernel.org/r/20170113115155.24335-1-l.stach@pengutronix.de
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page_alloc.c