1. 06 2月, 2006 1 次提交
  2. 24 1月, 2006 2 次提交
    • N
      [BLOCK] elevator: allow default scheduler to potentially be modular · 248d5ca5
      Nate Diller 提交于
      Jens has decided that allowing the default scheduler to be a module is
      a bug, and should not be allowed under kconfig.  However, I find that
      scenario useful for debugging, and wish for the kernel to be able to
      handle this situation without OOPSing, if I enable such an option in
      the .config directly.  This patch dynamically checks for the presence
      of the compiled-in default, and falls back to no-op, emitting a
      suitable error message, when the default is not available
      
      Tested for a range of boot options on 2.6.16-rc1-mm2.
      Signed-off-by: NNate Diller <nate.diller@gmail.com>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      248d5ca5
    • N
      [BLOCK] elevator: default choice selection · 5f003976
      Nate Diller 提交于
      My previous default iosched patch did a poor job dealing with the
      'elevator=' boot-time option.  The old behavior falls back to the
      compiled-in default if the requested one is not registered at boot
      time.  This patch dynamically evaluates which default
      to use, and emits a suitable error message when the requested scheduler
      is not available.  It also does the 'as' -> 'anticipatory' conversion
      before elevator registration, which along with a modified registration
      function, allows it to correctly indicate which default scheduler is
      in use.
      
      Tested for a range of boot options on 2.6.16-rc1-mm2.
      Signed-off-by: NNate Diller <nate.diller@gmail.com>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      5f003976
  3. 17 1月, 2006 1 次提交
  4. 16 1月, 2006 2 次提交
  5. 13 1月, 2006 1 次提交
    • T
      [PATCH] fix queue stalling while barrier sequencing · 1bc691d3
      Tejun Heo 提交于
      If ordered tag isn't supported, request ordering for barrier
      sequencing is performed by queue draining, which basically hangs the
      request queue until elv_completed_request() reports completion of all
      previous fs requests.
      
      The condition check in elv_completed_request() was only performed for
      fs requests.  If a special request is queued between the last
      to-be-drained request and the barrier sequence, draining is never
      completed and the queue is stalled forever.
      
      This patch moves the end-of-draining condition check such that it's
      performed for all requests.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      1bc691d3
  6. 09 1月, 2006 1 次提交
  7. 06 1月, 2006 2 次提交
    • T
      [BLOCK] reimplement handling of barrier request · 797e7dbb
      Tejun Heo 提交于
      Reimplement handling of barrier requests.
      
      * Flexible handling to deal with various capabilities of
        target devices.
      * Retry support for falling back.
      * Tagged queues which don't support ordered tag can do ordered.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      797e7dbb
    • T
      [BLOCK] add @uptodate to end_that_request_last() and @error to rq_end_io_fn() · 8ffdc655
      Tejun Heo 提交于
      add @uptodate argument to end_that_request_last() and @error
      to rq_end_io_fn().  there's no generic way to pass error code
      to request completion function, making generic error handling
      of non-fs request difficult (rq->errors is driver-specific and
      each driver uses it differently).  this patch adds @uptodate
      to end_that_request_last() and @error to rq_end_io_fn().
      
      for fs requests, this doesn't really matter, so just using the
      same uptodate argument used in the last call to
      end_that_request_first() should suffice.  imho, this can also
      help the generic command-carrying request jens is working on.
      Signed-off-by: Ntejun heo <htejun@gmail.com>
      Signed-Off-By: NJens Axboe <axboe@suse.de>
      8ffdc655
  8. 19 11月, 2005 1 次提交
  9. 12 11月, 2005 6 次提交
  10. 04 11月, 2005 1 次提交
  11. 02 11月, 2005 1 次提交
    • T
      [PATCH] blk: fix dangling pointer access in __elv_add_request · ca23509f
      Tejun Heo 提交于
      cfq's add_req_fn callback may invoke q->request_fn directly and
      depending on low-level driver used and timing, a queued request may be
      finished & deallocated before add_req_fn callback returns.  So,
      __elv_add_request must not access rq after it's passed to add_req_fn
      callback.
      
      This patch moves rq_mergeable test above add_req_fn().  This may
      result in q->last_merge pointing to REQ_NOMERGE request if add_req_fn
      callback sets it but as RQ_NOMERGE is checked again when blk layer
      actually tries to merge requests, this does not cause any problem.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ca23509f
  12. 31 10月, 2005 3 次提交
  13. 28 10月, 2005 10 次提交
  14. 28 6月, 2005 1 次提交
    • J
      [PATCH] Update cfq io scheduler to time sliced design · 22e2c507
      Jens Axboe 提交于
      This updates the CFQ io scheduler to the new time sliced design (cfq
      v3).  It provides full process fairness, while giving excellent
      aggregate system throughput even for many competing processes.  It
      supports io priorities, either inherited from the cpu nice value or set
      directly with the ioprio_get/set syscalls.  The latter closely mimic
      set/getpriority.
      
      This import is based on my latest from -mm.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      22e2c507
  15. 16 6月, 2005 2 次提交
  16. 21 5月, 2005 1 次提交
  17. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4