[PATCH] mm: compaction: Iron out isolate_freepages_block() andisolate_freepages_range() -fix2

From: Mel Gorman
Date: Fri Oct 05 2012 - 05:59:41 EST


Thierry reported offline that the strict check "mm: compaction: Iron out
isolate_freepages_block() and isolate_freepages_range() -fix1" check is
still too strict because it's possible for more pages to be isolated
than required. This patch corrects the check.

There are still CMA-related problems but they are "somewhere else" yet
to be determined.

Signed-off-by: Mel Gorman <mgorman@xxxxxxx>
---
mm/compaction.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/compaction.c b/mm/compaction.c
index 2c4ce17..9eef558 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -346,7 +346,7 @@ static unsigned long isolate_freepages_block(struct compact_control *cc,
* pages requested were isolated. If there were any failures, 0 is
* returned and CMA will fail.
*/
- if (strict && nr_strict_required != total_isolated)
+ if (strict && nr_strict_required > total_isolated)
total_isolated = 0;

if (locked)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/