On 08/22/2012 03:15 AM, Minchan Kim wrote:
+++ b/mm/vmscan.c @@ -2705,8 +2705,16 @@ loop_again: if (total_scanned && (sc.priority < DEF_PRIORITY - 2)) { if (has_under_min_watermark_zone) count_vm_event(KSWAPD_SKIP_CONGESTION_WAIT); - else - congestion_wait(BLK_RW_ASYNC, HZ/10); + else { + for (i = 0; i <= end_zone; i++) { + struct zone *zone = pgdat->node_zones + + i; + if (!populated_zone(zone)) + continue; + wait_iff_congested(zone, BLK_RW_ASYNC, + HZ/10); + } + } }
Do we really want to wait on every zone? That could increase the sleep time by a factor 3. -- All rights reversed -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/