On Fri, 2013-11-08 at 10:48 -0700, Jens Axboe wrote: > Hi Linus, > > This is the pull request for the core changes in the block layer for > 3.13. It contains: > > - The new blk-mq request interface. This is a new and more scalable > queueing model that marries the best part of the request based > interface we currently have (which is fully featured, but scales > poorly) and the bio based "interface" which the new drivers for high > IOPS devices end up using because it's much faster than the request > based one. The bio interface has no block layer support, since it taps > into the stack much earlier. This means that drivers end up having to > implement a lot of functionality on their own, like tagging, timeout > handling, requeue, etc. The blk-mq interface provides all these. Some > drivers even provide a switch to select bio or rq and has code to > handle both, since things like merging only works in the rq model and > hence is faster for some workloads. This is a huge mess. Conversion of > these drivers nets us a substantial code reduction. Initial results on > converting SCSI to this model even shows an 8x improvement on single > queue devices. So while the model was intended to work on the newer > multiqueue devices, it has substantial improvements for "classic" > hardware as well. This code has gone through extensive testing and > development, it's now ready to go. A pull request is coming to convert > virtio-blk to this model will be will be coming as well, with more > drivers scheduled for 3.14 conversion. >
Hey Jens, Just wanted to say, congratulations on this evenings merge of blk-mq! I'm really excited to see this code upstream in v3.13, and the merge being a catalyst for the next generation of flash device design that takes advantage of all blk-mq has to offer. Not to mention, progressing scsi-mq forward from alpha prototype -> beta status over the next months, to move beyond our current SCSI initiator performance constraints. So, perhaps fitting NAME for v3.13 would be along the lines of "I/O, the next generation". ;-) --nab -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/