Messages in this thread | | | Date | Sat, 25 Aug 2012 19:02:49 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH 2/5] vmscan: sleep only if backingdev is congested |
| |
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
| |