blk-mq · shipping · also Multi-Queue Block I/O

Linux blk-mq

Linux blk-mq is the block-layer mechanism that stages and dispatches I/O through multiple software and hardware queues.

Software staging can support merging and I/O scheduling before requests reach hardware dispatch queues. Selecting the none scheduler does not bypass the complete kernel block layer. [1]

Queue topology alone does not provide a per-application latency guarantee. Neither the block layer nor the device protocol guarantees completion order, so higher layers must enforce required dependencies. [1]

Relations

related
NVMe, Queue depth, Inter-flow interference, io_uring

Citations

  1. Linux kernel documentation: Multi-Queue Block IO Queueing Mechanism, operation, schedulers and hardware dispatch queues. (accessed 2026-10-20)

Further reading

  1. Hesela: Sharing an SSD: who pays for the slowdown? (accessed 2026-10-20)

JSON: /data/terms/blk-mq.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. Linux blk-mq. Hesela. 2026-10-20. https://hesela.dev/terms/blk-mq/