1. 30 4月, 2007 3 次提交
    • J
      cfq-iosched: minor updates · 1afba045
      Jens Axboe 提交于
      - Move the queue_new flag clear to when the queue is selected
      - Only select the non-first queue in cfq_get_best_queue(), if there's
        a substantial difference between the best and first.
      - Get rid of ->busy_rr
      - Only select a close cooperator, if the current queue is known to take
        a while to "think".
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      1afba045
    • J
      cfq-iosched: development update · 6d048f53
      Jens Axboe 提交于
      - 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: NJens Axboe <jens.axboe@oracle.com>
      6d048f53
    • J
      cfq-iosched: improve preemption for cooperating tasks · 1e3335de
      Jens Axboe 提交于
      When testing the syslet async io approach, I discovered that CFQ
      sometimes didn't perform as well as expected. cfq_should_preempt()
      needs to better check for cooperating tasks, so fix that by allowing
      preemption of an equal priority queue if the recently queued request
      is as good a candidate for IO as the one we are currently waiting for.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      1e3335de
  2. 28 4月, 2007 37 次提交