grüß euch,

zum cpu_govenor andern hab ich mir einen socket, und einen service gebastelt, leider gehts nicht so wie ichs mir dachte. ich dachts mir so, wenn in /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor der govenor geschrieben wird, sollte mein tmpfiles.socket den tmpfiles.service auslösen, und damit dann ursprünglichen cpu_govenor überschreiben…der service tut was er soll, aber er wird eben nicht gestartet

[tom@donar ~]$ cat /etc/systemd/system/tmpfiles.socket 
[Unit]
Description=soll tmpfiles.service starten

[Socket]
#ListenFIFO=/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
ListenStream=/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

[Install]
WantedBy=sockets.target
[tom@donar ~]$ cat /etc/systemd/system/tmpfiles.service 

[Unit]
Description=Create Volatile Files and Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
DefaultDependencies=no
Conflicts=shutdown.target initrd-switch-root.service
After=local-fs.target systemd-sysusers.service systemd-journald.service
Before=sysinit.target shutdown.target
RefuseManualStop=yes

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev
SuccessExitStatus=DATAERR CANTCREAT
[Install]
WantedBy=sockets.target

tmpfiles.service = systemd-tmpfiles-setup.service
das journal meint dies dazu:
[ 13.390574] donar systemd[1]: tmpfiles.socket: Failed to create listening socket (/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor): Address already in use

drcux "ListenStream" will ein Socketfile erstellen, du willst aber ein File überwachen...

danke schön 🙂
da hab ich mir was falsch vorgestellt, vielleicht würde es so funktionieren, wenn der socket früher erstellt würde.
an und für sich, sollte das mit udev auch machbar sein, wenigstens mit dem scheduler

edit: für den scheduler gings mit udev so:

[tom@donar ~]$ cat /etc/udev/rules.d/99-scheduler.rules 
ACTION=="add|change", SUBSYSTEM=="block" , KERNEL=="sda*",  RUN+="/bin/sh -c 'echo bfq > /sys/block/sda/queue/scheduler'"

mit dem cpu_govenor funktionierts so:

[tom@donar ~]$ cat /etc/udev/rules.d/99-cpu_govenor.rules
ACTION=="add|change", KERNEL=="cpu*", SUBSYSTEM=="cpu" , RUN+="/bin/sh -c 'echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor'"
ACTION=="add|change", KERNEL=="cpu*", SUBSYSTEM=="cpu" , RUN+="/bin/sh -c 'echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor'"