Re: Setting up default iosched in 5.0+

From: Jeff Moyer
Date: Fri May 24 2019 - 10:49:58 EST


Hi, Alexey,

Alexey Dobriyan <adobriyan@xxxxxxxxx> writes:

> 5.0 deleted three io schedulers and more importantly CONFIG_DEFAULT_IOSCHED
> option:
>
> commit f382fb0bcef4c37dc049e9f6963e3baf204d815c
> block: remove legacy IO schedulers
>
> After figuring out that I silently became "noop" customer enabling just
> BFQ didn't work: "noop" is still being selected by default.
>
> There is an "elevator=" command line option but it does nothing.
>
> Are users supposed to add stuff to init scripts now?

A global parameter was never a good idea, because systems often have
different types of storage installed which benefit from different I/O
schedulers. The goal is for the default to just work.

If you feel that the defaults don't work for you, then udev rules are
the way to go.

If you also feel that you really do want to set the default for all
devices, then you can use the following udev rule to emulate the old
elevator= kernel command line parameter:

https://github.com/lnykryn/systemd-rhel/blob/rhel-8.0.0/rules/40-elevator.rules

Cheers,
Jeff