[PATCH 3.11 077/208] mm/compaction: respect ignore_skip_hint in update_pageblock_skip

Luis Henriques luis.henriques at canonical.com
Mon Jan 13 15:58:38 UTC 2014


3.11.10.3 -stable review patch.  If anyone has any objections, please let me know.

------------------

From: Joonsoo Kim <iamjoonsoo.kim at lge.com>

commit 6815bf3f233e0b10c99a758497d5d236063b010b upstream.

update_pageblock_skip() only fits to compaction which tries to isolate
by pageblock unit.  If isolate_migratepages_range() is called by CMA, it
try to isolate regardless of pageblock unit and it don't reference
get_pageblock_skip() by ignore_skip_hint.  We should also respect it on
update_pageblock_skip() to prevent from setting the wrong information.

Signed-off-by: Joonsoo Kim <iamjoonsoo.kim at lge.com>
Acked-by: Vlastimil Babka <vbabka at suse.cz>
Reviewed-by: Naoya Horiguchi <n-horiguchi at ah.jp.nec.com>
Reviewed-by: Wanpeng Li <liwanp at linux.vnet.ibm.com>
Cc: Christoph Lameter <cl at linux.com>
Cc: Rafael Aquini <aquini at redhat.com>
Cc: Vlastimil Babka <vbabka at suse.cz>
Cc: Wanpeng Li <liwanp at linux.vnet.ibm.com>
Cc: Mel Gorman <mgorman at suse.de>
Cc: Rik van Riel <riel at redhat.com>
Cc: Zhang Yanfei <zhangyanfei at cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
 mm/compaction.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/mm/compaction.c b/mm/compaction.c
index 05ccb4c..9a3e351 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -134,6 +134,10 @@ static void update_pageblock_skip(struct compact_control *cc,
 			bool migrate_scanner)
 {
 	struct zone *zone = cc->zone;
+
+	if (cc->ignore_skip_hint)
+		return;
+
 	if (!page)
 		return;
 
-- 
1.8.3.2





More information about the kernel-team mailing list