I/O scheduler
An I/O scheduler is a host block-layer policy that selects or regulates pending request dispatch to a storage device.
Selection: Linux exposes the available choices and brackets the active one in /sys/block/<device>/queue/scheduler. The iosched directory holds scheduler-specific settings. The choice applies to a device queue, not to every drive in a system. [1]
The none selection removes the elevator policy, not the block layer or the device's own scheduling. [2] The block layer does not guarantee completion order. [4]
A scheduler setting does not replace the write-cache flush and FUA mechanisms needed for persistence. [3]
Relations
- related
- Linux blk-mq, mq-deadline, Budget Fair Queueing (BFQ), Kyber I/O scheduler, Queue depth, Storage cache flush
Citations
- Linux 6.16: Switching Scheduler
- Linux v6.16: elevator.c, elevator_switch and the none selection
- Linux 6.16: Explicit volatile write back cache control
- Linux 6.16: Multi-Queue Block IO Queueing Mechanism