lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 24 Aug 2020 18:00:45 -0700 From: "Doug Smythies" <dsmythies@...us.net> To: "'Srinivas Pandruvada'" <srinivas.pandruvada@...ux.intel.com>, "'Rafael J. Wysocki'" <rjw@...ysocki.net> Cc: "'LKML'" <linux-kernel@...r.kernel.org>, "'Linux PM'" <linux-pm@...r.kernel.org> Subject: RE: [PATCH v2 0/5] cpufreq: intel_pstate: Address some HWP-related oddities Hi Srinivas, I think there is a disconnect between your written description of what is going on and your supporting MSR reads. On 2020.08.24 16:56 Srinivas Pandruvada wrote: > 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 So did I, and the issues I reported the other day are fine now. I did try a few of the things you were doing. > > - 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 ?? This looks like the MSR read for further below, and for CPU 19 instead of 1. > cd /sys/devices/system/cpu/intel_pstate/ > [root@...pl-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@...pl-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:<unsupported> > > > 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 This looks like the original MSR read. > > Good here > > 3. Offline/online good > > [root@...pl-perf-test-skx-i9 cpufreq]# echo 0 > > /sys/devices/system/cpu/cpu1/online > [root@...pl-perf-test-skx-i9 cpufreq]# echo ` > > /sys/devices/system/cpu/cpu1/online > > echo ` > /sys/devices/system/cpu/cpu1/online ^C > [root@...pl-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 O.K. > > Good. Online restored the setting > > 4. Now S3 > > rtcwake -m mem -s 10 Cool command. I did not know about it. I tried it. > > 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 > Yes, I got the same: # /home/doug/c/msr-decoder (edited) 6.) 0x774: IA32_HWP_REQUEST: CPU 0-5 : raw: 80002E08 : 8000FF01 : 8000FF01 : 8000FF01 : 8000FF01 : 8000FF01 : min: 8 : 1 : 1 : 1 : 1 : 1 : max: 46 : 255 : 255 : 255 : 255 : 255 : des: 0 : 0 : 0 : 0 : 0 : 0 : epp: 128 : 128 : 128 : 128 : 128 : 128 : act: 0 : 0 : 0 : 0 : 0 : 0 : > 5. Now switch to passive > Again bad, some CPU max/min is 0 > > sudo rdmsr -a 0x774 > 80002b0d > 7f002b0f Hmmm... Now seems to be CPU 1 > 80002b0c > 80002d0e > 80002b0c > 80002b0d > 80002b0f > 80002b2b > 80002b0c > 80002d1d > 80000000 > 80002b0c > 80002b0c > 80000000 > 80000000 > 80000000 > 80000000 > 80000000 > 80000000 > 80000000 MSR 774 was good for me, but in general my decoder was having troubles. 0x774: IA32_HWP_REQUEST: CPU 0-5 : sh: 0: getcwd() failed: No such file or directory raw: 80002E2E : 7F002E2E : 80002E2E : 80002E2E : 80002E2E : 80002E2E : min: 46 : 46 : 46 : 46 : 46 : 46 : max: 46 : 46 : 46 : 46 : 46 : 46 : des: 0 : 0 : 0 : 0 : 0 : 0 : epp: 128 : 127 : 128 : 128 : 128 : 128 : act: 0 : 0 : 0 : 0 : 0 : 0 : > > 6. > Switched back to active to restore back > > Lost EPP setting but rest are good. > > sudo rdmsr -a 0x774 > 80002b0c > 7f002b0c And again, now seems to be CPU1. > 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 > > > > > >
Powered by blists - more mailing lists