I'd like to discuss the current state of scsi-mq prototype code.
And now that blk-mq is upstream for v3.13, exploring the remaining TODO
items towards an initial scsi-mq merge sometime before 2015 is upon us.
The benefits of scsi-mq remain unchanged:
- Utilizes blk-mq's native per-cpu primitive + NUMA local friendly
queuing of pre-allocated struct request descriptor memory
- Eliminates all fast-path memory allocations in SCSI-core +
optionally the underlying SCSI LLDs
- Avoids fast-path Scsi_Host->host_lock + request_queue->queue_lock
accesses in submission + completion paths
These benefits have been discussed in greater detail in , and the
latest alpha quality code is available at  below.
The current TODO items include:
- A plan for per device SCSI error handling
- Proper scsi_device->sdev_gendev reference counting
- Queuing fairness across multiple scsi-mq devices per host
- Support for > 1 nr_hw_queues + conversion of qla2xxx + lpfc
LLDs that support native hardware multiqueue
[ATTEND] scsi-mq prototype discussion
scsi-mq WIP updated to v3.13-rc3