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
        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);