1. 08 Jun, 2006 1 commit
    • Jens Axboe's avatar
      [PATCH] elevator switching race · bc1c1169
      Jens Axboe authored
      There's a race between shutting down one io scheduler and firing up the
      next, in which a new io could enter and cause the io scheduler to be
      invoked with bad or NULL data.
      To fix this, we need to maintain the queue lock for a bit longer.
      Unfortunately we cannot do that, since the elevator init requires to be
      run without the lock held.  This isn't easily fixable, without also
      changing the mempool API.  So split the initialization into two parts,
      and alloc-init operation and an attach operation.  Then we can
      preallocate the io scheduler and related structures, and run the attach
      inside the lock after we detach the old one.
      This patch has survived 30 minutes of 1 second io scheduler switching
      with a very busy io load.
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
  2. 12 Nov, 2005 1 commit
    • Tejun Heo's avatar
      [BLOCK] noop-iosched: reimplementation of request dispatching · 5a7c47ee
      Tejun Heo authored
      The original implementation directly used dispatch queue.  As new
      generic dispatch queue imposes stricter rules over ioscheds and
      dispatch queue usage, this direct use becomes somewhat problematic.
      This patch reimplements noop-iosched such that it complies to generic
      iosched model better.  Request merging with q->last_merge and
      rq->queuelist.prev/next work again now.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Signed-off-by: Jens Axboe <axboe@suse.de
  3. 04 Nov, 2005 1 commit
  4. 31 Oct, 2005 1 commit
    • Jens Axboe's avatar
      [PATCH] noop-iosched: avoid corrupted request merging · 581c1b14
      Jens Axboe authored
      Tejun Heo notes:
         "I'm currently debugging this.  The problem is that we are using the
          generic dispatch queue directly in the noop sched and merging is NOT
          allowed on dispatch queues but generic handling of last_merge tries
          to merge requests.  I'm still trying to verify this, so I'll be back
          with results soon."
      In the meantime, disable merging for noop by setting REQ_NOMERGE in
      Eventually, we should add a noop_list and do the dispatching like in the
      other io schedulers.  Merging is still beneficial for noop (and it has
      always done it).
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
  5. 28 Oct, 2005 2 commits
    • Tejun Heo's avatar
      [PATCH] 04/05 remove last_merge handling from ioscheds · 98b11471
      Tejun Heo authored
      Remove last_merge handling from all ioscheds.  This patch
      removes merging capability of noop iosched.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
    • Jens Axboe's avatar
      [PATCH] 02/05: update ioscheds to use generic dispatch queue · b4878f24
      Jens Axboe authored
      This patch updates all four ioscheds to use generic dispatch
      queue.  There's one behavior change in as-iosched.
      * In as-iosched, when force dispatching
        (ELEVATOR_INSERT_BACK), batch_data_dir is reset to REQ_SYNC
        and changed_batch and new_batch are cleared to zero.  This
        prevernts AS from doing incorrect update_write_batch after
        the forced dispatched requests are finished.
      * In cfq-iosched, cfqd->rq_in_driver currently counts the
        number of activated (removed) requests to determine
        whether queue-kicking is needed and cfq_max_depth has been
        reached.  With generic dispatch queue, I think counting
        the number of dispatched requests would be more appropriate.
      * cfq_max_depth can be lowered to 1 again.
      Original from Tejun Heo, modified version applied.
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
  6. 01 May, 2005 1 commit
  7. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      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!