mq-deadline
mq-deadline is a Linux block I/O scheduler that combines sector ordering with soft request-expiration goals for dispatch.
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