1. 01 10月, 2006 3 次提交
  2. 01 7月, 2006 1 次提交
  3. 27 6月, 2006 1 次提交
  4. 23 6月, 2006 3 次提交
    • J
      [PATCH] rbtree: support functions used by the io schedulers · dd67d051
      Jens Axboe 提交于
      They all duplicate macros to check for empty root and/or node, and
      clearing a node. So put those in rbtree.h.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      dd67d051
    • J
      [PATCH] Kill PF_SYNCWRITE flag · b31dc66a
      Jens Axboe 提交于
      A process flag to indicate whether we are doing sync io is incredibly
      ugly. It also causes performance problems when one does a lot of async
      io and then proceeds to sync it. Part of the io will go out as async,
      and the other part as sync. This causes a disconnect between the
      previously submitted io and the synced io. For io schedulers such as CFQ,
      this will cause us lost merges and suboptimal behaviour in scheduling.
      
      Remove PF_SYNCWRITE completely from the fsync/msync paths, and let
      the O_DIRECT path just directly indicate that the writes are sync
      by using WRITE_SYNC instead.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      b31dc66a
    • A
      [PATCH] iosched: use hlist for request hashtable · bae386f7
      Akinobu Mita 提交于
      Use hlist instead of list_head for request hashtable in deadline-iosched
      and as-iosched. It also can remove the flag to know hashed or unhashed.
      Signed-off-by: NAkinobu Mita <mita@miraclelinux.com>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      
       block/as-iosched.c       |   45 +++++++++++++++++++--------------------------
       block/deadline-iosched.c |   39 ++++++++++++++++-----------------------
       2 files changed, 35 insertions(+), 49 deletions(-)
      bae386f7
  5. 09 6月, 2006 1 次提交
    • J
      [PATCH] elevator switching race · bc1c1169
      Jens Axboe 提交于
      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: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      bc1c1169
  6. 21 4月, 2006 1 次提交
  7. 18 4月, 2006 1 次提交
    • O
      [PATCH 1/2] iosched: fix typo and barrier() · fba82272
      OGAWA Hirofumi 提交于
      On rmmod path, cfq/as waits to make sure all io-contexts was
      freed. However, it's using complete(), not wait_for_completion().
      
      I think barrier() is not enough in here. To avoid the following case,
      this patch replaces barrier() with smb_wmb().
      
      	cpu0			visibility			cpu1
      	                [ioc_gnone=NULL,ioc_count=1]
      
      ioc_gnone = &all_gone		NULL,ioc_count=1
      atomic_read(&ioc_count)		NULL,ioc_count=1
      wait_for_completion()		NULL,ioc_count=0	atomic_sub_and_test()
      				NULL,ioc_count=0	if ( && ioc_gone)
      						    [ioc_gone==NULL,
      						    so doesn't call complete()]
      			   &all_gone,ioc_count=0
      Signed-off-by: NOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      fba82272
  8. 19 3月, 2006 4 次提交
  9. 06 1月, 2006 1 次提交
    • T
      [BLOCK] as-iosched: update alias handling · ef9be1d3
      Tejun Heo 提交于
      Unlike other ioscheds, as-iosched handles alias by chaing them using
      rq->queuelist.  As aliased requests are very rare in the first place,
      this complicates merge/dispatch handling without meaningful
      performance improvement.  This patch updates as-iosched to dump
      aliased requests into dispatch queue as other ioscheds do.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      ef9be1d3
  10. 22 11月, 2005 1 次提交
  11. 19 11月, 2005 1 次提交
  12. 04 11月, 2005 1 次提交
  13. 31 10月, 2005 1 次提交
  14. 30 10月, 2005 1 次提交
    • T
      [PATCH] blk: fix merge bug in as-iosched · 47e627ce
      Tejun Heo 提交于
      as-iosched deals with aliased requests differently from other ioscheds.
      
      It links together aliased requests using rq->queuelist instead of
      spilling alises to dispatch queue like other ioscheds do.  Requests
      linked in this way cannot be merged.
      
      Unfortunately, generic q->last_merge handling patch didn't take this
      into account and q->last_merge could be set to an aliased request
      resulting in Badness, corrupt list and eventually panic.
      
      This explicitly marks aliased requests to be unmergeable.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      47e627ce
  15. 28 10月, 2005 3 次提交
  16. 28 7月, 2005 1 次提交
  17. 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
  18. 24 6月, 2005 1 次提交
  19. 21 6月, 2005 1 次提交
  20. 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