mq-deadline · shipping · also Multi-queue deadline scheduler

mq-deadline

mq-deadline is a Linux block I/O scheduler that combines sector ordering with soft request-expiration goals for dispatch.

Related Observatory article: mq-deadline on hesela.com

Mechanism: Requests enter sector-sorted and arrival-ordered lists, separated by direction and I/O-priority class. Expiration can select an older request over sector order. Batches, read preference and write-starvation control also affect selection. [1]

The expiration concerns starting service, not completing the request. It is a soft goal, so read_expire is not a bound on application read latency. Sorting and FIFO state are shared across hardware queues of the same request queue rather than independently replicated per hardware queue. [1]

Relations

related
I/O scheduler, Linux blk-mq, Queue depth, Tail latency

Citations

  1. Linux v6.16: mq-deadline.c, soft expirations and dd_dispatch_request (accessed 2026-10-21)

Further reading

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

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

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. mq-deadline. Hesela. 2026-10-21. https://hesela.dev/terms/mq-deadline/