Skip to content

3.2 IO Scheduler

D3vil0p3r edited this page Oct 22, 2022 · 2 revisions

The input/output (I/O) scheduler is the kernel component that decides in which order the block I/O operations are submitted to storage devices.

To list the available schedulers for a device and the active scheduler (in brackets): cat /sys/block/sda/queue/scheduler.

Athena has the following available I/O Scheduler: mq-deadline kyber [bfq] none.

In Athena the active I/O Scheduler should be BFQ. The Budget Fair Queuing (BFQ) is based on Completely Fair Queuing (CFQ) code and brings some enhancements. It does not grant the disk to each process for a fixed time-slice but assigns a "budget" measured in number of sectors to the process and uses heuristics. It is a relatively complex scheduler, it may be more adapted to rotational drives and slow SSDs because its high per-operation overhead, especially if associated with a slow CPU, can slow down fast devices. The objective of BFQ on personal systems is that for interactive tasks, the storage device is virtually as responsive as if it was idle. In its default configuration it focuses on delivering the lowest latency rather than achieving the maximum throughput, which can sometimes greatly accelerate the startup of applications on hard drives.

Source: https://documentation.suse.com/sles/12-SP4/html/SLES-all/cha-tuning-io.html