Re: [PATCH 1/6] mm: compaction: Abort compaction loop if lock iscontended or run too long

From: Rik van Riel
Date: Thu Sep 20 2012 - 14:54:06 EST


On 09/20/2012 10:04 AM, Mel Gorman wrote:
From: Shaohua Li <shli@xxxxxxxxxxxx>

Changelog since V2
o Fix BUG_ON triggered due to pages left on cc.migratepages
o Make compact_zone_order() require non-NULL arg `contended'

Changelog since V1
o only abort the compaction if lock is contended or run too long
o Rearranged the code by Andrea Arcangeli.

isolate_migratepages_range() might isolate no pages if for example when
zone->lru_lock is contended and running asynchronous compaction. In this
case, we should abort compaction, otherwise, compact_zone will run a
useless loop and make zone->lru_lock is even contended.

[minchan@xxxxxxxxxx: Putback pages isolated for migration if aborting]
[akpm@xxxxxxxxxxxxxxxxxxxx: compact_zone_order requires non-NULL arg contended]
Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx>
Signed-off-by: Mel Gorman <mgorman@xxxxxxx>

Acked-by: Rik van Riel <riel@xxxxxxxxxx>

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