]> err.no Git - linux-2.6/commit
[PATCH] cfq-iosched: many performance fixes
authorJens Axboe <axboe@suse.de>
Fri, 16 Jun 2006 09:23:00 +0000 (11:23 +0200)
committerJens Axboe <axboe@nelson.home.kernel.dk>
Fri, 23 Jun 2006 15:10:39 +0000 (17:10 +0200)
commitcaaa5f9f0a75d1dc5e812e69afdbb8720e077fd3
tree07aba6bac5a57cb3efd23762acfd719e255775ab
parent35e6077cb16f93517ba5a51ba849b186d2474d60
[PATCH] cfq-iosched: many performance fixes

This is a collection of patches that greatly improve CFQ performance
in some circumstances.

- Change the idling logic to only kick in after a request is done and we
  are deciding what to do. Before the idling included the request service
  time, so it was hard to adjust. Now it's true think/idle time.

- Take advantage of TCQ/NCQ/queueing for seeky sync workloads, but keep
  it in control for sync and sequential (or close to) workloads.

- Expire queues immediately and move on to other busy queues, if we are
  not going to idle after the current one finishes.

- Don't rearm idle timer if there are no busy queues. Just leave the
  system idle.

Signed-off-by: Jens Axboe <axboe@suse.de>
block/cfq-iosched.c