У меня есть вопрос, касающийся нескольких очередей (MQ) на уровне SCSI и, следовательно, iSCSI . По-видимому, есть хорошая техническая и научная литература, объясняющая множественные очереди (MQ) на уровне блоков. Но редко можно найти хорошее объяснение тому, как эта многорядная очередь (MQ) запускается на уровень SCSI, а затем на iSCSI. AFAIK, начиная с Linux ядра 3.13 (2014), блочный уровень linux имеет несколько очередей mq-blk . После mq-blk на уровне блоков необходимо было обновить путь отправки SCSI IO. В результате SCSI multi-queue aka scsi-mq работа стала функциональной с Linux ядро 3.17. Поэтому у меня есть следующие вопросы:
Вопрос 1: Как на самом деле достигается многопоточность на уровне SCSI?
Вопрос 2: Традиционно средний уровень SCSI используется для создания queuecommand () . Теперь, когда в SCSI реализована множественная организация очередей, означает ли множественная организация очередей создание более одной queuecommand () ?
Вопрос 3: Где именно можно увидеть несколько очередей в базе кода SCSI?
Вопрос 4: Как только мы получим несколько очередей в SCSI, как это реализовано на уровне iSCSI?
Пожалуйста, помогите мне понять это.