The multiqueue block layer
The multiqueue block layer
Posted Jan 22, 2020 14:58 UTC (Wed) by Bobby999 (guest, #136127)In reply to: The multiqueue block layer by neilbrown
Parent article: The multiqueue block layer
I have a question regarding multi-queue (MQ) in SCSI layer. I have read articles and blogs on multi-queue in Linux block layer. Including your brilliant article as well. According to my understanding, since Linux kernel 3.13 (2014), the linux block layer has multi-queue a.k.a mq-blk. And then after mq-blk in block layer, the SCSI IO submission path had to be updated. As a result, SCSI multi-queue a.k.a scsi-mq work has been functional since Linux kernel 3.17.
My question is: How actually multi-queuing is achieved in SCSI? AFAIK, traditionally the SCSI mid-level layer used to create queuecommand (). Now when there is multi-queuing implemented in SCSI, does multi-queuing actually means creating multi queuecommand ()? I am struggling to understand the multi-queue mechanism in context of SCSI. I mean where one can see multi-queue in SCSI code?
Please help me understand. Thanks :-)
