The Linux Kernel May Soon Default To SCSI MQ Mode
It looks like the Linux kernel's SCSI code may soon switch away from its legacy code-path to the multi-queue (MQ) code by default.
The SCSI multi-queue code has been in the works for a few years as enabling the block multi-queue (blk-mq) code for SCSI drivers for better scalability. The SCSI MQ support has been part of the mainline kernel for a few years now but has been disabled by default that requires either changing the kernel configuration or booting with the scsi_mod.use_blk_mq=Y parameter.
Those unfamiliar with the SCSI MQ code can see this older presentation (PDF). SCSI MQ, like the blk-mq code, is successful on delivering better performance/scalability, but it hadn't been enabled by default due to some outstanding regressions.
But SUSE's Johannes Thumshirn is now looking to enable the multi-queue code by default for SCSI over the legacy I/O path. He commented, "It has been more than one year since we tried to change the default from legacy to multi queue in SCSI. Back then we had to retract the change because of performance issues with rotating disks. In the meantime there have been a substantial amount of performance improvements, thus we can re-enable scsi-mq without a significant performance penalty."
So far those commenting on the patch have all been support in the change, including developers from both Red Hat and SUSE. We'll see if this change ends up happening for the Linux 4.19 cycle.
The SCSI multi-queue code has been in the works for a few years as enabling the block multi-queue (blk-mq) code for SCSI drivers for better scalability. The SCSI MQ support has been part of the mainline kernel for a few years now but has been disabled by default that requires either changing the kernel configuration or booting with the scsi_mod.use_blk_mq=Y parameter.
Those unfamiliar with the SCSI MQ code can see this older presentation (PDF). SCSI MQ, like the blk-mq code, is successful on delivering better performance/scalability, but it hadn't been enabled by default due to some outstanding regressions.
But SUSE's Johannes Thumshirn is now looking to enable the multi-queue code by default for SCSI over the legacy I/O path. He commented, "It has been more than one year since we tried to change the default from legacy to multi queue in SCSI. Back then we had to retract the change because of performance issues with rotating disks. In the meantime there have been a substantial amount of performance improvements, thus we can re-enable scsi-mq without a significant performance penalty."
So far those commenting on the patch have all been support in the change, including developers from both Red Hat and SUSE. We'll see if this change ends up happening for the Linux 4.19 cycle.
8 Comments