cfq-iosched: development update
authorJens Axboe <jens.axboe@oracle.com>
Wed, 25 Apr 2007 10:44:27 +0000 (12:44 +0200)
committerJens Axboe <axboe@nelson.home.kernel.dk>
Mon, 30 Apr 2007 07:01:21 +0000 (09:01 +0200)
commit6d048f5310aa2dda2b5acd947eab3598c25e269f
tree4f0dbcd21b82dd015a908139fb4de3601b3d834a
parent1e3335de05da3dfbe48b8caa03db1834a2133256
cfq-iosched: development update

- Implement logic for detecting cooperating processes, so we
  choose the best available queue whenever possible.

- Improve residual slice time accounting.

- Remove dead code: we no longer see async requests coming in on
  sync queues. That part was removed a long time ago. That means
  that we can also remove the difference between cfq_cfqq_sync()
  and cfq_cfqq_class_sync(), they are now indentical. And we can
  kill the on_dispatch array, just make it a counter.

- Allow a process to go into the current list, if it hasn't been
  serviced in this scheduler tick yet.

Possible future improvements including caching the cfqq lookup
in cfq_close_cooperator(), so we don't have to look it up twice.
cfq_get_best_queue() should just use that last decision instead
of doing it again.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/cfq-iosched.c