1. 11 6月, 2015 3 次提交
  2. 06 6月, 2015 5 次提交
  3. 02 6月, 2015 5 次提交
    • A
      null_blk: restart request processing on completion handler · 8b70f45e
      Akinobu Mita 提交于
      When irqmode=2 (IRQ completion handler is timer) and queue_mode=1
      (Block interface to use is rq), the completion handler should restart
      request handling for any pending requests on a queue because request
      processing stops when the number of commands are queued more than
      hw_queue_depth (null_rq_prep_fn returns BLKPREP_DEFER).
      
      Without this change, the following command cannot finish.
      
      	# modprobe null_blk irqmode=2 queue_mode=1 hw_queue_depth=1
      	# fio --name=t --rw=read --size=1g --direct=1 \
      	  --ioengine=libaio --iodepth=64 --filename=/dev/nullb0
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: Jens Axboe <axboe@fb.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      8b70f45e
    • A
      null_blk: prevent timer handler running on a different CPU where started · 419c21a3
      Akinobu Mita 提交于
      When irqmode=2 (IRQ completion handler is timer), timer handler should
      be called on the same CPU where the timer has been started.
      
      Since completion_queues are per-cpu and the completion handler only
      touches completion_queue for local CPU, we need to prevent the handler
      from running on a different CPU where the timer has been started.
      Otherwise, the IO cannot be completed until another completion handler
      is executed on that CPU.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: Jens Axboe <axboe@fb.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      419c21a3
    • K
      NVMe: Remove hctx reliance for multi-namespace · 42483228
      Keith Busch 提交于
      The driver needs to track shared tags to support multiple namespaces
      that may be dynamically allocated or deleted. Relying on the first
      request_queue's hctx's is not appropriate as we cannot clear outstanding
      tags for all namespaces using this handle, nor can the driver easily track
      all request_queue's hctx as namespaces are attached/detached. Instead,
      this patch uses the nvme_dev's tagset to get the shared tag resources
      instead of through a request_queue hctx.
      Signed-off-by: NKeith Busch <keith.busch@intel.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      42483228
    • J
      Merge branch 'for-4.2/core' into for-4.2/drivers · 843e8ddb
      Jens Axboe 提交于
      843e8ddb
    • K
      blk-mq: Shared tag enhancements · f26cdc85
      Keith Busch 提交于
      Storage controllers may expose multiple block devices that share hardware
      resources managed by blk-mq. This patch enhances the shared tags so a
      low-level driver can access the shared resources not tied to the unshared
      h/w contexts. This way the LLD can dynamically add and delete disks and
      request queues without having to track all the request_queue hctx's to
      iterate outstanding tags.
      Signed-off-by: NKeith Busch <keith.busch@intel.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      f26cdc85
  4. 30 5月, 2015 4 次提交
  5. 27 5月, 2015 1 次提交
  6. 23 5月, 2015 1 次提交
  7. 22 5月, 2015 11 次提交
  8. 20 5月, 2015 9 次提交
  9. 19 5月, 2015 1 次提交