block: add block polling support
authorJens Axboe <axboe@fb.com>
Thu, 5 Nov 2015 17:44:55 +0000 (10:44 -0700)
committerJens Axboe <axboe@fb.com>
Sat, 7 Nov 2015 17:40:47 +0000 (10:40 -0700)
commit05229beeddf7e75e2e616ddaad4b70e7fca9528d
tree2f8c5efffcdba6f6fd113960da9009979cf679e4
parent7b371636fb6d187873d9d2730c2b1febc48a9b47
block: add block polling support

Add basic support for polling for specific IO to complete. This uses
the cookie that blk-mq passes back, which enables the block layer
to pass this cookie to the driver to spin for a specific request.

This will be combined with request latency tracking, so we can make
qualified decisions about when to poll and when not to. For now, for
benchmark purposes, we add a sysfs file that controls whether polling
is enabled or not.

Signed-off-by: Jens Axboe <axboe@fb.com>
Acked-by: Christoph Hellwig <hch@lst.de>
Acked-by: Keith Busch <keith.busch@intel.com>
block/blk-core.c
block/blk-mq-sysfs.c
block/blk-sysfs.c
include/linux/blk-mq.h
include/linux/blkdev.h