blk-mq-sched: add framework for MQ capable IO schedulers
authorJens Axboe <axboe@fb.com>
Tue, 10 Jan 2017 21:20:32 +0000 (14:20 -0700)
committerJens Axboe <axboe@fb.com>
Tue, 10 Jan 2017 21:20:32 +0000 (14:20 -0700)
commit960ca547a96dbc2b13e8ad321ef6604cb8661a4b
treebfd00f3e03a1641abba99afbc834742d881f08ef
parent698c0dedf4c9ca50aeb19bc3a8d86b87d051bf11
blk-mq-sched: add framework for MQ capable IO schedulers

This adds a set of hooks that intercepts the blk-mq path of
allocating/inserting/issuing/completing requests, allowing
us to develop a scheduler within that framework.

We reuse the existing elevator scheduler API on the registration
side, but augment that with the scheduler flagging support for
the blk-mq interfce, and with a separate set of ops hooks for MQ
devices.

Bla bla double set of tags.

Signed-off-by: Jens Axboe <axboe@fb.com>
15 files changed:
block/Makefile
block/blk-core.c
block/blk-exec.c
block/blk-flush.c
block/blk-ioc.c
block/blk-merge.c
block/blk-mq-sched.c [new file with mode: 0644]
block/blk-mq-sched.h [new file with mode: 0644]
block/blk-mq.c
block/blk-mq.h
block/blk-tag.c
block/elevator.c
include/linux/blk-mq.h
include/linux/blkdev.h
include/linux/elevator.h