Messages in this thread | | | From | Jeff Moyer <> | Subject | Re: [RFC V2 PATCH 4/5] cfq-iosched: enable idling for last queue on priority class | Date | Wed, 21 Oct 2009 12:12:27 -0400 |
| |
Corrado Zoccolo <czoccolo@gmail.com> writes:
> cfq can disable idling for queues in various circumstances. > When workloads of different priorities are competing, if the higher > priority queue has idling disabled, lower priority queues may steal > its disk share. For example, in a scenario with an RT process > performing seeky reads vs a BE process performing sequential reads, > on an NCQ enabled hardware, with low_latency unset, > the RT process will dispatch only the few pending requests every full > slice of service for the BE process. > > The patch solves this issue by always performing idle on the last > queue at a given priority class > idle. If the same process, or one > that can pre-empt it (so at the same priority or higher), submits a > new request within the idle window, the lower priority queue won't > dispatch, saving the disk bandwidth for higher priority ones. > > Note: this doesn't touch the non_rotational + NCQ case (no hardware > to test if this is a benefit in that case). > > Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
This looks OK at first glance.
Cheers, Jeff
| |