Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Nov 2015 01:23:49 +0000 (17:23 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Nov 2015 01:23:49 +0000 (17:23 -0800)
Pull block IO poll support from Jens Axboe:
 "Various groups have been doing experimentation around IO polling for
  (really) fast devices.  The code has been reviewed and has been
  sitting on the side for a few releases, but this is now good enough
  for coordinated benchmarking and further experimentation.

  Currently O_DIRECT sync read/write are supported.  A framework is in
  the works that allows scalable stats tracking so we can auto-tune
  this.  And we'll add libaio support as well soon.  Fow now, it's an
  opt-in feature for test purposes"

* 'for-4.4/io-poll' of git://git.kernel.dk/linux-block:
  direct-io: be sure to assign dio->bio_bdev for both paths
  directio: add block polling support
  NVMe: add blk polling support
  block: add block polling support
  blk-mq: return tag/queue combo in the make_request_fn handlers
  block: change ->make_request_fn() and users to return a queue cookie

1  2 
block/blk-core.c
block/blk-mq.c
drivers/block/pktcdvd.c
drivers/block/zram/zram_drv.c
drivers/nvdimm/pmem.c
drivers/nvme/host/pci.c
fs/direct-io.c
include/linux/fs.h

@@@ -2038,9 -2041,9 +2041,9 @@@ blk_qc_t generic_make_request(struct bi
        do {
                struct request_queue *q = bdev_get_queue(bio->bi_bdev);
  
 -              if (likely(blk_queue_enter(q, __GFP_WAIT) == 0)) {
 +              if (likely(blk_queue_enter(q, __GFP_DIRECT_RECLAIM) == 0)) {
  
-                       q->make_request_fn(q, bio);
+                       ret = q->make_request_fn(q, bio);
  
                        blk_queue_exit(q);
  
diff --cc block/blk-mq.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/direct-io.c
Simple merge
Simple merge