[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190109111344.GU31517@techsingularity.net>
Date: Wed, 9 Jan 2019 11:13:44 +0000
From: Mel Gorman <mgorman@...hsingularity.net>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: David Rientjes <rientjes@...gle.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Vlastimil Babka <vbabka@...e.cz>, ying.huang@...el.com,
kirill@...temov.name, Linux-MM <linux-mm@...ck.org>,
Linux List Kernel Mailing <linux-kernel@...r.kernel.org>
Subject: [PATCH] mm, compaction: Use free lists to quickly locate a migration
target -fix
Full compaction of a node passes in negative orders which can lead to array
boundary issues. While it could be addressed in the control flow of the
primary loop, it would be fragile so explicitly check for the condition.
This is a fix for the mmotm patch
broken-out/mm-compaction-use-free-lists-to-quickly-locate-a-migration-target.patch
Signed-off-by: Mel Gorman <mgorman@...hsingularity.net>
---
mm/compaction.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/mm/compaction.c b/mm/compaction.c
index 9438f0564ed5..167ad0f5c2fe 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -1206,6 +1206,10 @@ fast_isolate_freepages(struct compact_control *cc)
bool scan_start = false;
int order;
+ /* Full compaction passes in a negative order */
+ if (order <= 0)
+ return cc->free_pfn;
+
/*
* If starting the scan, use a deeper search and use the highest
* PFN found if a suitable one is not found.
Powered by blists - more mailing lists