/ dev / sda < - dispositivo SCSI
/ dev / nvme0n1 < - dispositivo NVMe
O driver NVMe suporta blk-mq desde a versão do kernel 3.19. Ele não permite desligar o blk-mq usando um parâmetro insmod ou uma opção de inicialização do kernel no grub.
$ modinfo -p nvme
use_threaded_interrupts: (int)
use_cmb_sqes:use controller's memory buffer for I/O SQes (bool)
max_host_mem_size_mb:Maximum Host Memory Buffer (HMB) size per controller (in MiB) (uint)
sgl_threshold:Use SGLs when average request segment size is larger or equal to this size. Use 0 to disable SGLs. (uint)
io_queue_depth:set io queue depth, should >= 2
Você pode fazer o download do antigo driver nvme e recompilar o módulo do kernel do link se quiser desabilitar blk-mq. No entanto, isso não permite o uso de, e. CFQ. A alteração relevante em 3.19 explica que o driver NVMe anteriormente "[implementou] a lógica da fila dentro de si", não utilizou a camada de bloco de fila única. Há outros exemplos de tais dispositivos de bloco, por exemplo, Linux mdraid
devices.
As fontes a seguir estavam corretas na época, elas incluem algumas notas e links úteis. No entanto, eles estão desatualizados, já que foram escritos antes da introdução dos planejadores de I / O blk-mq, incluindo o BFQ (o BFQ foi aceito como parte do Linux 4.12).