1. 02 6月, 2006 1 次提交
  2. 01 6月, 2006 4 次提交
  3. 31 5月, 2006 1 次提交
  4. 19 4月, 2006 1 次提交
  5. 18 4月, 2006 2 次提交
  6. 28 3月, 2006 3 次提交
    • J
      [BLOCK] cfq-iosched: seek and async performance fixes · 206dc69b
      Jens Axboe 提交于
      Detect whether a given process is seeky and if so disable (mostly) the
      idle window if it is. We still allow just a little idle time, just enough
      to allow that process to submit a new request. That is needed to maintain
      fairness across priority groups.
      
      In some cases, we could setup several async queues. This is not optimal
      from a performance POV, since we want all async io in one queue to perform
      good sorting on it. It also impacted sync queues, as async io got too much
      slice time.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      206dc69b
    • A
      [PATCH] cfq-iosched: small cfq_choose_req() optimization · e8a99053
      Andreas Mohr 提交于
      this is a small optimization to cfq_choose_req() in the CFQ I/O scheduler
      (this function is a semi-often invoked candidate in an oprofile log):
      by using a bit mask variable, we can use a simple switch() to check
      the various cases instead of having to query two variables for each check.
      Benefit: 251 vs. 285 bytes footprint of cfq_choose_req().
      Also, common case 0 (no request wrapping) is now checked first in code.
      Signed-off-by: NAndreas Mohr <andi@lisas.de>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      e8a99053
    • J
      [PATCH] [BLOCK] cfq-iosched: change cfq io context linking from list to tree · e2d74ac0
      Jens Axboe 提交于
      On setups with many disks, we spend a considerable amount of time
      looking up the process-disk mapping on each queue of io. Testing with
      a NULL based block driver, this costs 40-50% reduction in throughput
      for 1000 disks.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      e2d74ac0
  7. 27 3月, 2006 1 次提交
  8. 19 3月, 2006 14 次提交
  9. 28 2月, 2006 1 次提交
    • J
      [PATCH] cfq-iosched: slice expiry fixups · 7b14e3b5
      Jens Axboe 提交于
      During testing of SLES10, we encountered a hang in the CFQ io scheduler.
      Turns out the deferred slice expiry logic is buggy, so remove that for
      now.  We could be left with an idle queue that would never wake up.  So
      kill that logic, always expire immediately.  Also fix a potential timer
      race condition.
      
      Patch looks bigger than it is, because it moves a function.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      7b14e3b5
  10. 06 1月, 2006 1 次提交
  11. 19 11月, 2005 1 次提交
  12. 12 11月, 2005 2 次提交
  13. 04 11月, 2005 1 次提交
  14. 31 10月, 2005 2 次提交
  15. 28 10月, 2005 3 次提交
  16. 11 9月, 2005 1 次提交
  17. 08 9月, 2005 1 次提交
    • B
      [PATCH] block: CFQ refcounting fix · 38f18527
      Brian King 提交于
      I ran across a memory leak related to the cfq scheduler. The cfq
      init function increments the refcnt of the associated request_queue.
      
      This refcount gets decremented in cfq's exit function. Since blk_cleanup_queue
      only calls the elevator exit function when its refcnt goes to zero, the
      request_q never gets cleaned up. It didn't look like other io schedulers were
      incrementing this refcnt, so I removed the refcnt increment and it fixed the
      memory leak for me.
      
      To reproduce the problem, simply use cfq and use the scsi_host scan sysfs
      attribute to scan "- - -" repeatedly on a scsi host and watch the memory
      vanish.
      Signed-off-by: NBrian King <brking@us.ibm.com>
      Acked-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      38f18527