I/O Schedulers available in Red Hat Enterprise Linux 8 , 9 and 10

Updated

Red Hat deprecated I/O schedulers available in the Red Hat Enterprise Linux 7 and introduced four new I/O schedulers as follows,

Run the following command to check the schedulers available in RHEL8, RHEL9 and RHEL 10

# grep -i 'io scheduler' /var/log/dmesg
[    0.507104] io scheduler mq-deadline registered
[    0.507105] io scheduler kyber registered
[    0.507123] io scheduler bfq registered

1. none: Implements a first-in first-out (FIFO) scheduling algorithm. It merges requests at the generic block layer through a simple last-hit cache. See "How to use the Noop or None IO Schedulers" -- none in RHEL 8 onward and later is equivalent to noop scheduler in RHEL 7 and earlier.

2. mq-deadline : Attempts to provide a guaranteed latency for requests from the point at which requests reach the scheduler. The mq-deadline scheduler sorts queued I/O requests into a read or write batch and then schedules them for execution in increasing logical block addressing (LBA) order. By default, read batches take precedence over write batches, because applications are more likely to block on read I/O operations. After mq-deadline processes a batch, it checks how long write operations have been starved of processor time and schedules the next read or write batch as appropriate.

This scheduler is suitable for most use cases, but particularly those in which read operations occur more often than write operations or most write operations are buffered/asynchronous from the application.

3. kyber : It is intended for fast devices. The scheduler tunes itself to achieve a latency goal. You can configure the target latencies for read and synchronous write requests.

4. bfq : Targets desktop systems and interactive tasks. The bfq scheduler ensures that a single application is never using all of the bandwidth. In effect, the storage device is always as responsive as if it was idle. The system does not become unresponsive when copying large files. In its default configuration, bfq focuses on delivering the lowest latency rather than achieving the maximum throughput.

The bfq scheduler is based on cfq code. 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.

Category
Components
Article Type