On 6/25/2021 10:29 PM, Qian Cai wrote:
Ionela, I found that set ACPI_PROCESSOR=y instead of ACPI_PROCESSOR=m will fix the previous mentioned issues here (any explanations of that?) even though the scaling down is not perfect. Now, we have the following on this idle system:
# cat /sys/devices/system/cpu/*/cpufreq/cpuinfo_cur_freq | sort | uniq -c
79 1000000
1 1160000
73 1400000
1 2000000
4 2010000
1 2800000
1 860000
Even if I rerun a few times, there could still have a few CPUs running lower than lowest_perf (1GHz). Also, even though I set all CPUs to use "userspace" governor and set freq to the lowest. A few CPUs keep changing at will.
# cat /sys/devices/system/cpu/*/cpufreq/cpuinfo_cur_freq | sort | uniq -c
156 1000000
3 2000000
1 760000
Another date point is that set ACPI_CPPC_CPUFREQ_FIE=n fixed the issue that any CPU could run below the lowest freq.
schedutil:
# cat /sys/devices/system/cpu/*/cpufreq/cpuinfo_cur_freq | sort | uniq -c
80 1000000
78 1400000
1 2010000
1 2800000
userspace:
# cat /sys/devices/system/cpu/*/cpufreq/cpuinfo_cur_freq | sort | uniq -c
158 1000000
2 2000000