1. 29 6月, 2005 4 次提交
    • N
      [PATCH] blk: light iocontext ops · fb3cc432
      Nick Piggin 提交于
      get_io_context needlessly turned off interrupts and checked for racing io
      context creations.  Both of which aren't needed, because the io context can
      only be created while in process context of the current process.
      
      Also, split the function in 2.  A light version, current_io_context does not
      elevate the reference count specifically, but can be used when in process
      context, because the process holds a reference itself.
      Signed-off-by: NNick Piggin <nickpiggin@yahoo.com.au>
      Cc: Jens Axboe <axboe@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      fb3cc432
    • N
      [PATCH] blk: reduce locking · d6344532
      Nick Piggin 提交于
      Change around locking a bit for a result of 1-2 less spin lock unlock pairs in
      request submission paths.
      Signed-off-by: NNick Piggin <nickpiggin@yahoo.com.au>
      Cc: Jens Axboe <axboe@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d6344532
    • N
      [PATCH] blk: __make_request efficiency · 450991bc
      Nick Piggin 提交于
      In the case where the request is not able to be merged by the elevator, don't
      retake the lock and retry the merge mechanism after allocating a new request.
      
      Instead assume that the chance of a merge remains slim, and now that we've
      done most of the work allocating a request we may as well just go with it.
      
      Also be rid of the GFP_ATOMIC allocation: we've got working mempools for the
      block layer now, so let's save atomic memory for things like networking.
      
      Lastly, in get_request_wait, do an initial get_request call before going into
      the waitqueue.  This is reported to help efficiency.
      Signed-off-by: NNick Piggin <nickpiggin@yahoo.com.au>
      Cc: Jens Axboe <axboe@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      450991bc
    • J
      [PATCH] ll_rw_blk: prevent huge request allocations · 082cf69e
      Jens Axboe 提交于
      Currently we cap request allocations at q->nr_requests, but we allow a
      batching io context to allocate up to 32 more (default setting).  This
      can flood the queue with request allocations, with only a few batching
      processes.  The real fix would be to limit the number of batchers, but
      as that isn't currently tracked, I suggest we just cap the maximum
      number of allocated requests to eg 50% over the limit.
      
      This was observed in real life, users typically see this as vmstat bo
      numbers going off the wall with seconds of no queueing afterwards.
      Behaviour this bursty is not beneficial.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      082cf69e
  2. 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
  3. 26 6月, 2005 2 次提交
  4. 24 6月, 2005 8 次提交
  5. 21 6月, 2005 1 次提交
  6. 21 5月, 2005 1 次提交
  7. 17 4月, 2005 4 次提交
    • [PATCH] fix NMI lockup with CFQ scheduler · 152587de
      提交于
      The current problem seen is that the queue lock is actually in the
      SCSI device structure, so when that structure is freed on device
      release, we go boom if the queue tries to access the lock again.
      
      The fix here is to move the lock from the scsi_device to the queue.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      152587de
    • K
      [PATCH] use cheaper elv_queue_empty when unplug a device · a2997382
      Ken Chen 提交于
      In function __generic_unplug_device(), kernel can use a cheaper function
      elv_queue_empty() instead of more expensive elv_next_request to find
      whether the queue is empty or not.  blk_run_queue can also made conditional
      on whether queue's emptiness before calling request_fn().
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NKen Chen <kenneth.w.chen@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a2997382
    • J
      [PATCH] possible use-after-free of bio · 4a534f93
      Jens Axboe 提交于
      There is a possibility that a bio will be accessed after it has been freed
      on SCSI.  It happens if you submit a bio with BIO_SYNC marked and the
      auto-unplugging kicks the request_fn, SCSI re-enables interrupts in-between
      so if the request completes between the add_request() in __make_request()
      and the bio_sync() call, we could be looking at a dead bio.  It's a slim
      race, but it has been triggered in the Real World.
      
      So assign bio_sync() to a local variable instead.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      4a534f93
    • 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