Messages in this thread | | | Date | Mon, 25 Oct 2021 07:17:48 +0200 (CEST) | From | Julia Lawall <> | Subject | Re: problem in changing from active to passive mode |
| |
On Sun, 24 Oct 2021, Doug Smythies wrote:
> On Sun, Oct 24, 2021 at 6:03 AM Julia Lawall <julia.lawall@inria.fr> 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@intel.com> > > 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.
Performance. I only booted and then changed to passive and then changed back.
I originally saw the problem when changeing from active-performance to passive-schedutil. But seeing the problem doesn't require changing the governor to schedutil.
> > 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
So converting to passive send you directly to schedutil? I didn't check on that - I have always changed to passive and then explicitly change to schedutil.
> $ 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.
So now you are twice as slow, but don't know how much this benchmark varies. I suspect that on my machine I would get the 5000 number. I also traced the frequencies and they were at the lowest point (1GHz) almost all of the time.
I'll redo my tests and collect all of this information.
thanks, julia
> ... 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 >
| |