Blk-mq/SCSI-mq Are Looking Real Good For Linux Disk Performance
It's been a while since last having any major news to report on the multi-queue block layer for the Linux kernel, but that blk-mq and more recent scsi-mq work is progressing well.
After entering the mainline kernel and then being revised a few cycles, blk-mq is effectively feature complete and fast while more recently, SCSI-mq entered the mainline kernel. The multi-queue block layer can lead to better drive performance through reducing latency by balancing I/O workload across multiple CPU cores and allowing for multiple hardware queues.
For those wishing to learn more on the blk-mq/scsi-mq current work, Christoph Hellwig presented at LinuxCon Europe last month regarding this multi-queue block layer work. The slides are available in PDF form.
The performance improvements shared in the presentation look very good for large systems, Linux 3.18 brings a compile-time option for being able to switch between blk-mq and the legacy code, and in the near term the developers hope to replace the old SCSI I/O code with the blk-mq code. Missing features right now are I/O scheduler support in blk-mq and mainline multi-path support. Check out the aforelinked slides if you wish to learn more about this major, modern improvement to the Linux kernel.
After entering the mainline kernel and then being revised a few cycles, blk-mq is effectively feature complete and fast while more recently, SCSI-mq entered the mainline kernel. The multi-queue block layer can lead to better drive performance through reducing latency by balancing I/O workload across multiple CPU cores and allowing for multiple hardware queues.
For those wishing to learn more on the blk-mq/scsi-mq current work, Christoph Hellwig presented at LinuxCon Europe last month regarding this multi-queue block layer work. The slides are available in PDF form.
The performance improvements shared in the presentation look very good for large systems, Linux 3.18 brings a compile-time option for being able to switch between blk-mq and the legacy code, and in the near term the developers hope to replace the old SCSI I/O code with the blk-mq code. Missing features right now are I/O scheduler support in blk-mq and mainline multi-path support. Check out the aforelinked slides if you wish to learn more about this major, modern improvement to the Linux kernel.
2 Comments