Thread (3 messages) 3 messages, 3 authors, 2019-05-24

Re: Setting up default iosched in 5.0+

From: Alexey Dobriyan <hidden>
Date: 2019-05-24 18:25:38
Also in: lkml

On Fri, May 24, 2019 at 10:46:54AM -0400, Jeff Moyer wrote:
Hi, Alexey,

Alexey Dobriyan [off-list ref] writes:
quoted
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.
Kernel can by default complain about "noop" for HDD disks and setup
"noop" for SSD. And then let admins customise it further.
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
The following udev rules seem to work, thanks:

	$ cat /etc/udev/rules.d/01-iosched.rules
	SUBSYSTEM=="block", ACTION=="add", KERNEL=="sda", ATTR{queue/scheduler}="bfq"
	SUBSYSTEM=="block", ACTION=="add", KERNEL=="sdb", ATTR{queue/scheduler}="bfq"
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help