[PATCH] mm: compaction: Do not compact pgdat for order-0

From: Mel Gorman
Date: Thu Aug 15 2013 - 11:39:37 EST


If kswapd was reclaiming for a high order and resets it to 0 due to
fragmentation it will still call compact_pgdat. For the most part, this will
fail a compaction_suitable() test and not compact but it is unnecessarily
sloppy. It could be fixed in the caller but fix it in the API instead.

[dhillf@xxxxxxxxx: Pointed out that it was a potential problem]
Signed-off-by: Mel Gorman <mgorman@xxxxxxx>
---
mm/compaction.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/mm/compaction.c b/mm/compaction.c
index 05ccb4c..c437893 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -1131,6 +1131,9 @@ void compact_pgdat(pg_data_t *pgdat, int order)
.sync = false,
};

+ if (!order)
+ return;
+
__compact_pgdat(pgdat, &cc);
}

--
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/