Re: problem in changing from active to passive mode
From: Doug Smythies
Date: Sun Oct 24 2021 - 18:44:21 EST
On Sun, Oct 24, 2021 at 6:03 AM Julia Lawall <julia.lawall@xxxxxxxx> wrote:
>
> Hello,
Hi,
>
> I have an Intel 6130 and an Intel 5218. These machines have HWP. They
> are configured to boot with active mode and performance as the power
> governor. Since the following commit:
>
> commit a365ab6b9dfbaf8fb4fb4cd5d8a4c55dc4fb8b1c (HEAD, refs/bisect/bad)
> Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> Date: Mon Dec 14 21:09:26 2020 +0100
>
> cpufreq: intel_pstate: Implement the ->adjust_perf() callback
>
> If I change te mode from active to passive, I have the impression that the
> machine is no longer able to raise the core frequencies above the minimum.
> Changing the mode back to active has no effect. This persists if I reboot
> to another kernel.
>
> Here are some runs that illustrate the problem. I have tested the
> benchmark many times, and apart from this issue its performance is stable.
Could you also list the CPU frequency scaling governor being used in your
tests. I know you mentioned the performance governor above, but it
changes between active/passive/active transitions.
Example from my test computer:
Note 1: It is only for brevity of this e-mail that I only list for one CPU.
Obviously, I looked at all CPUs when doing this.
Note 2: The test example and conditions have been cherry picked
for dramatic effect.
$ cat /sys/devices/system/cpu/cpu6/cpufreq/scaling_driver
intel_pstate
$ cat /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor
performance
$ cat /sys/devices/system/cpu/intel_pstate/status
active
$ ./ping-pong-many 100000 500 10
1418.0660 usecs/loop. (less is better)
$ echo passive | sudo tee /sys/devices/system/cpu/intel_pstate/status
passive
$ cat /sys/devices/system/cpu/cpu6/cpufreq/scaling_driver
intel_cpufreq
$ cat /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor
schedutil
$ cat /sys/devices/system/cpu/intel_pstate/status
passive
$ ./ping-pong-many 100000 500 10
5053.6355 usecs/loop.
$ echo active | sudo tee /sys/devices/system/cpu/intel_pstate/status
active
$ cat /sys/devices/system/cpu/cpu6/cpufreq/scaling_driver
intel_pstate
$ cat /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor
powersave
$ cat /sys/devices/system/cpu/intel_pstate/status
active
$ ./ping-pong-many 100000 500 10
2253.5833 usecs/loop.
... Doug
>
> Intel 6130:
>
> root@yeti-2:/tmp# java -jar dacapo-9.12-MR1-bach.jar avrora -n 3
> ===== DaCapo 9.12-MR1 avrora starting warmup 1 =====
> ===== DaCapo 9.12-MR1 avrora completed warmup 1 in 3420 msec =====
> ===== DaCapo 9.12-MR1 avrora starting warmup 2 =====
> ===== DaCapo 9.12-MR1 avrora completed warmup 2 in 2536 msec =====
> ===== DaCapo 9.12-MR1 avrora starting =====
> ===== DaCapo 9.12-MR1 avrora PASSED in 2502 msec =====
> root@yeti-2:/tmp# echo passive | tee /sys/devices/system/cpu/intel_pstate/status
> passive
> root@yeti-2:/tmp#
> root@yeti-2:/tmp# echo active | tee /sys/devices/system/cpu/intel_pstate/status
> active
> root@yeti-2:/tmp# java -jar dacapo-9.12-MR1-bach.jar avrora -n 3
> ===== DaCapo 9.12-MR1 avrora starting warmup 1 =====
> ===== DaCapo 9.12-MR1 avrora completed warmup 1 in 7561 msec =====
> ===== DaCapo 9.12-MR1 avrora starting warmup 2 =====
> ===== DaCapo 9.12-MR1 avrora completed warmup 2 in 6528 msec =====
> ===== DaCapo 9.12-MR1 avrora starting =====
> ===== DaCapo 9.12-MR1 avrora PASSED in 7796 msec =====
>
> -------------------------------------------------------------------------
>
> Intel 5218:
>
> root@troll-2:/tmp# java -jar dacapo-9.12-MR1-bach.jar avrora -n 3
> ===== DaCapo 9.12-MR1 avrora starting warmup 1 =====
> ===== DaCapo 9.12-MR1 avrora completed warmup 1 in 2265 msec =====
> ===== DaCapo 9.12-MR1 avrora starting warmup 2 =====
> ===== DaCapo 9.12-MR1 avrora completed warmup 2 in 2033 msec =====
> ===== DaCapo 9.12-MR1 avrora starting =====
> ===== DaCapo 9.12-MR1 avrora PASSED in 2068 msec =====
> root@troll-2:/tmp# echo passive | tee /sys/devices/system/cpu/intel_pstate/status
> passive
> root@troll-2:/tmp# echo active | tee /sys/devices/system/cpu/intel_pstate/statusactive
> root@troll-2:/tmp# java -jar dacapo-9.12-MR1-bach.jar avrora -n 3
> ===== DaCapo 9.12-MR1 avrora starting warmup 1 =====
> ===== DaCapo 9.12-MR1 avrora completed warmup 1 in 4363 msec =====
> ===== DaCapo 9.12-MR1 avrora starting warmup 2 =====
> ===== DaCapo 9.12-MR1 avrora completed warmup 2 in 4486 msec =====
> ===== DaCapo 9.12-MR1 avrora starting =====
> ===== DaCapo 9.12-MR1 avrora PASSED in 3417 msec =====
>
> -------------------------------------------------------------------------
>
> thanks,
> julia