On Mon, 2020-08-24 at 19:39 +0200, Rafael J. Wysocki wrote: > Hi All, > > The v2 is here to address feedback from Doug and one issue found by > me. > > The purpose of this series is to address some peculiarities related > to > taking CPUs offline/online and switching between different operation > modes with HWP enabled that have become visible after allowing the > driver to work in the passive mode with HWP enabled in 5.9-rc1 (and > one that was there earlier, but can be addressed easily after the > changes madein 5.9-rc1). > > Please refer to the patch changelogs for details. > > For easier testing/review, the series is available from the git > branch at: > > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ > intel_pstate-testing > Applied these patches to 5.9-rc2 - After s3 limits got messed up. # cat /sys/power/mem_sleep s2idle [deep] - In the dmesg unchecked MSR for HWP register 1. Before test sudo rdmsr -a 0x774 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002b0c 80002b0c 80002d0d 7f002b0c cd /sys/devices/system/cpu/intel_pstate/ [root@otcpl-perf-test-skx-i9 intel_pstate]# grep . * hwp_dynamic_boost:0 max_perf_pct:100 min_perf_pct:27 no_turbo:0 num_pstates:32 status:active turbo_pct:32 cd ../cpu1/cpufreq/ [root@otcpl-perf-test-skx-i9 cpufreq]# grep . * affected_cpus:1 base_frequency:3300000 cpuinfo_max_freq:4300000 cpuinfo_min_freq:1200000 cpuinfo_transition_latency:0 energy_performance_available_preferences:default performance balance_performance balance_power power energy_performance_preference:balance_performance related_cpus:1 scaling_available_governors:performance powersave scaling_cur_freq:1200000 scaling_driver:intel_pstate scaling_governor:powersave scaling_max_freq:4300000 scaling_min_freq:1200000 scaling_setspeed: 2. Now change the EPP # echo 127 > energy_performance_preference sudo rdmsr -a 0x774 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002b0c 80002b0c 80002d0d Good here 3. Offline/online good [root@otcpl-perf-test-skx-i9 cpufreq]# echo 0 > /sys/devices/system/cpu/cpu1/online [root@otcpl-perf-test-skx-i9 cpufreq]# echo ` > /sys/devices/system/cpu/cpu1/online > echo ` > /sys/devices/system/cpu/cpu1/online ^C [root@otcpl-perf-test-skx-i9 cpufreq]# echo 1 > /sys/devices/system/cpu/cpu1/online sudo rdmsr -a 0x774 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002b0c 80002b0c 80002d0d 7f002b0c Good. Online restored the setting 4. Now S3 rtcwake -m mem -s 10 All limits are now messed up sudo rdmsr -a 0x774 80002b0c 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 5. Now switch to passive Again bad, some CPU max/min is 0 sudo rdmsr -a 0x774 80002b0d 7f002b0f 80002b0c 80002d0e 80002b0c 80002b0d 80002b0f 80002b2b 80002b0c 80002d1d 80000000 80002b0c 80002b0c 80000000 80000000 80000000 80000000 80000000 80000000 80000000 6. Switched back to active to restore back Lost EPP setting but rest are good. sudo rdmsr -a 0x774 80002b0c 7f002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002d0c 80002b0c 80002b0c 80002b0c 80002b0c 80002b0c 80002d0d 7. S3 again rtcwake -m mem -s 10 Again messed up sudo rdmsr -a 0x774 80002b0c 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 8000ff00 This time dmesg didn't have unchecked MSR in dmesg (I think because I didn't change EPP before) Thanks, Srinivas > Thanks, > Rafael > > >