From: Linus Torvalds Date: Wed, 11 Nov 2015 01:23:49 +0000 (-0800) Subject: Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block X-Git-Tag: v4.9.8~3208 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3419b45039c6b799c974a8019361c045e7ca232c;p=platform%2Fkernel%2Flinux-rpi3.git Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block 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 --- 3419b45039c6b799c974a8019361c045e7ca232c diff --cc block/blk-core.c index 590cca2,fa36b4f..2bbf08c --- a/block/blk-core.c +++ b/block/blk-core.c @@@ -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);