cfq-iosched: idling on deep seeky sync queues
authorCorrado Zoccolo <czoccolo@gmail.com>
Thu, 26 Nov 2009 09:02:58 +0000 (10:02 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 26 Nov 2009 09:39:31 +0000 (10:39 +0100)
commit76280aff1c7e9ae761cac4b48591c43cd7d69159
treef8b354746a96cf45a4d0fc980df4e37e3c37b173
parente4a229196a7c676514c78f6783f8994f64bf681c
cfq-iosched: idling on deep seeky sync queues

Seeky sync queues with large depth can gain unfairly big share of disk
 time, at the expense of other seeky queues. This patch ensures that
 idling will be enabled for queues with I/O depth at least 4, and small
 think time. The decision to enable idling is sticky, until an idle
 window times out without seeing a new request.

The reasoning behind the decision is that, if an application is using
large I/O depth, it is already optimized to make full utilization of
the hardware, and therefore we reserve a slice of exclusive use for it.

Reported-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/cfq-iosched.c