[РЕШЕНО] Смена планировщика io, как правильно в 2021?

В grub.cfg дописал elevator=kyber, но этот метод уже похоже не работает, остаётся дефолтный планировщик.

Как правильно в 2021 поменять планировщик?
Как бы правилом удава.
/etc/udev/rules.d/60-schedulers.rules
# set scheduler for NVMe elevator=none
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"

# set scheduler for SSD and eMMC elevator=mq-deadline
ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{removable}=="0", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"

# set scheduler for rotating disks elevator=bfq
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{removable}=="0", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"

# set scheduler for flash disks elevator=mq-deadline
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{removable}=="1", ATTR{queue/rotational}=="1", ENV{ID_USB_DRIVER}=="usb-storage", ATTR{queue/scheduler}="mq-deadline"

# set scheduler for disks elevator=kyber
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{removable}=="1", ATTR{queue/rotational}=="0", ENV{ID_USB_DRIVER}=="usb-storage", ATTR{queue/scheduler}="kyber"
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
elevator= kernel parameter was removed in kernel 5.4+
Now it's possible to change scheduler only per-device using sysfs.
... или используя правило udev ... опять же для каждого соотвествующего устройства
Ошибки не исчезают с опытом - они просто умнеют
nafanja
/etc/udev/rules.d/60-schedulers.rules

Пытаюсь понять, какие диски получат kyber.
Не NVMe, не SSD and eMMC, не rotational, не flash...
А не проще вместо udev использовать sysfs - запустить одну команду, можно и прописать ...
Ошибки не исчезают с опытом - они просто умнеют
sirocco
Пытаюсь понять, какие диски получат kyber.
по идее те что останутся )))
это довольно старый конфиг, не помню точно для чего там последнее правило было (((
какой то внешний юсб накопитель и не крутящийся, может я внешнюю SSDшку подключал....
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
vasek
А не проще вместо udev использовать sysfs - запустить одну команду, можно и прописать …
echo "kyber" > /sys/block/sda/queue/scheduler
это?
ну и куда его прописывать

правило udev выглядит более просто чем делать тот-же автостарт через systemd
grayich
ну и куда его прописывать
правило udev выглядит более просто чем делать тот-же автостарт через systemd
для меня было бы проще прописать в .xinitrc строчку
echo kyber | sudo tee /sys/block/sda/queue/scheduler
... правда, если не прописано в sudoers, то придется внести изменения ...
Ошибки не исчезают с опытом - они просто умнеют
vasek
для меня было бы проще прописать в .xinitrc строчку
может так лучше было бы
/etc/tmpfiles.d/elevator..conf
w /sys/block/sda/queue/scheduler - - - - kyber

vasek
… правда, если не прописано в sudoers, то придется внести изменения …
это как то не по феншую...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.