Hello.
On středa 20. září 2023 18:56:09 CEST Mario Limonciello wrote:
When applied on top of v6.5.3 this breaks turbo on my 5950X after suspend/resume cycle. Please see the scenario description below.
If I boot v6.5.3 + this patchset, then `turbostat` reports ~4.9 GHz on core 0 where `taskset -c 0 dd if=/dev/zero of=/dev/null` is being run.
After I suspend the machine and then resume it, and run `dd` again, `turbostat` reports the core to be capped to a stock frequency of ~3.4 GHz. Rebooting the machine fixes this, and the CPU can boost again.
If this patchset is reverted, then the CPU can turbo after suspend/resume cycle just fine.
I'm using `amd_pstate=guided`.
Is this behaviour expected?
To help confirm where the issue is, can I ask you to do three experiments with the patch series applied:
- 'amd_pstate=active' on your kernel command line.
The issue is reproducible. If I toggle the governor in cpupower to `powersave` and back to `performance`, boost is restored.
- 'amd_pstate=active amd_prefcore=disable' on your kernel command line.
The issue is not reproducible.
- 'amd_pstate=guided amd_prefcore=disable' on your kernel command line.
The issue is not reproducible.
I should also mention that in my initial configuration I use `amd_pstate=guided` and `schedutil`. If I switch to `performance` after suspend-resume cycle, the boost is restored. However, if I switch back to `schedutil`, the freq is capped.
Does this info help?
Looking through the code, I anticipate from your report that it reproduces on "1" but not "2" and "3".
Meng,
Can you try to repro?
I think that it's probably a call to amd_pstate_init_prefcore() missing from amd_pstate_cpu_resume() and also amd_pstate_epp_resume().