[PATCH RFC 0/2] Convert from bio-based to blk-mq
Matias Bjørling
m at bjorling.me
Tue Oct 8 05:34:20 EDT 2013
These patches are against the "new-queue" branch in Axboe's repo:
git://git.kernel.dk/linux-block.git
The nvme driver implements itself as a bio-based driver. This primarily because
of high lock congestion for high-performance nvm devices. To remove the
congestion, a multi-queue block layer is being implemented.
These patches enable mq within the nvme driver. The first patch is a simple
blkmq fix. While the second implements the beginning of the nvme mq support.
Outstanding work:
* Use reserved tags for admin queue. Should this be implemented as an admin
queue within mq?
* Move cmdid into blk mq and use request tagging.
* Notify mq of nvme device stripe size.
* Let mq know and handle BIOVEC_NOT_VIRT_MERGEABLE.
I crave some feedback on whether it's on the right path, before I break the bio
path apart and put it together again.
Matias Bjørling (2):
blk-mq: call exit_hctx on hw queue teardown
NVMe: rfc blk-mq support
block/blk-mq.c | 2 +
drivers/block/nvme-core.c | 404 +++++++++++++++++-----------------------------
include/linux/nvme.h | 3 +-
3 files changed, 155 insertions(+), 254 deletions(-)
--
1.8.1.2
More information about the Linux-nvme
mailing list