Linux 3.13 To Receive Multi-Queue Block Layer
The multi-queue block layer that will be merged into the Linux 3.13 kernel tries to balance I/O workload across multiple CPU cores, reduce cache-line sharing, provide similar functionality to SQ, and allow for multiple hardware queues. Testing of the multi-queue block layer shows for a significant increase in disk IOPS as the number of CPU cores increase, compared to virtually no difference with the single-queue block layer.
The multi-queue block layer can yield improvements in the range of 3.5 to 10 times greater IOPS, 10 to 38x reduction in latency, supports multiple hardware queues, and actually yields simpler driver development.
Confirmation of blk-mq support for the Linux 3.13 kernel comes via the block window closed message. More details on the multi-queue block layer can be found via these PDF slides and this white paper.