joakimkistowski / amd-disable-c6

Systemd service to automatically disable the C6 power saving state on AMD Zen (Ryzen / Epyc) processors
MIT License
62 stars 5 forks source link

Doesn't work, Ubuntu 24.04 #4

Open laserburn opened 2 weeks ago

laserburn commented 2 weeks ago

Installation seems to work:

$ sudo make install g++ -std=c++11 -O3 -Wall amd-disable-c6.cpp -o amd-disable-c6 amd-disable-c6.cpp: In function ‘uint64_t read_msr(long int, unsigned int)’: amd-disable-c6.cpp:126:10: warning: ignoring return value of ‘size_t fread(void, size_t, size_t, FILE)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 126 | fread(&msr_value, 8, 1, f); | ~^~~~~ mkdir -p /usr/sbin mkdir -p /usr/lib/systemd/system install -m 540 amd-disable-c6 /usr/sbin install -m 644 amd-disable-c6.service /usr/lib/systemd/system

Yet, when I try to start the service:

$ sudo systemctl enable amd-disable-c6 Failed to enable unit: Cannot alias amd-disable-c6.service as amd-disable-c6.

laserburn commented 2 weeks ago

Or wait, is this service supposed to be running all the time or just makes a change at boot and exits? Because I got this output that it maybe did the job:

$ systemctl status amd-disable-c6.service ○ amd-disable-c6.service - Service to disable the C6 State on AMD Zen-based (Ryzen, Epyc) processors on boot Loaded: loaded (/usr/lib/systemd/system/amd-disable-c6.service; enabled; preset: enabled) Active: inactive (dead) since Fri 2024-09-13 19:26:35 EEST; 14min ago Main PID: 1797 (code=exited, status=0/SUCCESS) CPU: 14ms

Sep 13 19:26:35 Kassad systemd[1]: Starting amd-disable-c6.service - Service to disable the C6 State on AMD Zen-based (Ryzen, Epyc) processors on boot... Sep 13 19:26:35 Kassad amd-disable-c6[1797]: Disabled C6 state Sep 13 19:26:35 Kassad systemd[1]: amd-disable-c6.service: Deactivated successfully. Sep 13 19:26:35 Kassad systemd[1]: Finished amd-disable-c6.service - Service to disable the C6 State on AMD Zen-based (Ryzen, Epyc) processors on boot.

This fix might actually be working. Is there some way to know for sure?