Home Store Blog

Kyber as default io scheduler on SSD (Linux 50 series) - A mystery

#1

So I wanted to use kyber (instead of mq-deadline) as default io scheduler for my SSD (Toshiba Q300). What I did is very simple, and it works well. I’ve just created a file /etc/udev/rules.d/60-ioscheduler.rules with the following content:

# set scheduler for NVMe
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"
# set scheduler for SSD and eMMC
ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="kyber"
# set scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="mq-deadline"

After rebooting kyber is working as expected:

sandrito@maverick:~$ cat /sys/block/sda/queue/scheduler
mq-deadline [kyber] none

So far so good. No need to preload kyber-iosched at boot since I’m using ACTION=="add|change".

But why is it that if I also add kyber-iosched in /etc/modules-load.d/modules.conf my laptop performs much better with lower memory usage and CPU temperature? Isn’t kyber module loaded axactly the same way?

#2

This isn’t UB specific so any Ubuntu user could pitch in … maybe ubuntuforums.org and/or askubuntu.com would get a wider audience.

#3

You’re right. Thanks, I will try ubuntuforums.org.

#4

Done it: https://ubuntuforums.org/showthread.php?t=2418911

Let’s see how long it takes before I get my first “hey mate, what the hell are you talking about?”

I know that forum… as a visitor. That’s why I posted here first :innocent: :smiley:

I like this corner of paradise, also the UB forum interface is excellent. Same platform as Manjaro.