Rate_limit_us is the frequency transition parameter of schedutil
, the CPU governer.
Strangely, cpuinfo_transition_latency
shows the maximum value of a 32-bit integer.
Because of that, the rate_limit_us
of the schedutil
governer shows the maximum value / 1000
.
This is about 4.2s, which is a very long time.
In my opinion, the system show that maximum transition latency is 0.97ms.
1455us with 1.5 times the number of 970us by referring to the reference below.
I don’t know if this is the optimal, but at least I have a performance improvement.
(Decrease - more sensitive transition, Increase - less sensitive transition)
Command
$ echo "schedutil" | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
$ echo "1455" | sudo tee /sys/devices/system/cpu/cpufreq/schedutil/rate_limit_us
Systemd (on-boot)
$ sudo nano /etc/systemd/system/cpu-gov-config.service
[Unit]
Description=Set cpu gov config at boot
After=basic.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c '\
echo "schedutil" | tee /sys/devices/system/cpu/cpufreq/policy0/scaling_governor && \
echo "1455" | tee /sys/devices/system/cpu/cpufreq/schedutil/rate_limit_us'
User=root
Group=root
RemainAfterExit=true
[Install]
WantedBy=basic.target
Reference
https://lore.kernel.org/linux-pm/20240728192659.58115-1-qyousef@layalina.io/