CachyOS / CachyOS/CachyOS-Settings

Cachy-tuned forces Kyber even when ADIOS is enabled by default

Open
#228 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
443
Forks
76
PR merge metrics
No merged PRs in 30d

Description

Edit:

It's because of tuned-cachyos conf file : /usr/lib/tuned/profiles/cachyos-common/tuned.conf

The native setting is forcing Kyber. Editing this conf to pass `elevator=adios` make the trick.

I guess creating a new profile in user space should be a better idea, anyway.

Any idea to have a more versatile default conf for Adios users?

#############################

Previous post : While Kyber is now the new default IO scheduler, it overwrites my ADIOS config. According to `kerver` command, Kyber is the default now on my computer.

I enabled it following the wiki, using udev rule.
To change the rule to a later priority with 99 instead of 60 doesn't work.

It would also be useful to mention that manually writing the value again to /sys/block/nvme0n1/queue/scheduler works correctly, which shows that the problem is with persistence at boot, not with ADIOS itself. After reboot, the scheduler goes back to Kyber.

I also tested editing /usr/lib/udev/rules.d/60-ioschedulers.rules directly and replacing kyber with adios, but after reboot the NVMe scheduler is still set to kyber. It only switches to adios after I manually reload and trigger udev again with:
```
sudo udevadm control --reload-rules
sudo udevadm trigger

```

I tried a workaround using systemd service : ADIOS is enabled at reboot but after a few minutes Kyber becomes the active scheduler again.
```
[Unit]
Description=Force adios I/O scheduler on nvme0n1
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'sleep 1; echo adios > /sys/block/nvme0n1/queue/scheduler'

[Install]
WantedBy=multi-user.target
```

Other idea : i created another systemd service which launch udev rules reload: it works, but not sure that's a good and proper way...
```
[Unit]
Description=Reapply udev rule for NVMe scheduler
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'sleep 1; udevadm control --reload-rules; udevadm trigger --action=change /sys/block/nvme0n1'

[Install]
WantedBy=multi-user.target
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.