Thread (50 messages) 50 messages, 7 authors, 2021-11-12

Re: [PATCH v3 00/21] cpufreq: introduce a new AMD CPU frequency control mechanism

From: Huang Rui <ray.huang@amd.com>
Date: 2021-11-08 09:21:04
Also in: lkml

On Sat, Nov 06, 2021 at 04:58:35PM +0800, Matt McDonald wrote:
quoted
quoted
I've tested this driver and it seems the results are a little
underwhelming.
The test machine is a two sockets server with two AMD EPYC 7713,
family:model:stepping 25:1:1, 128 cores/256 threads, 256G of memory
and SSD
storage. On this system, the amd-pstate driver works only in
"shared memory support", not in "full MSR support",
meaning that frequency switches are triggered from a workqueue
instead of scheduler context (!fast_switch).
Huang, I've also done some detailed testing, and while many synthetic
benchmarks seem to show minimal differences between this new frequency
control mechanism and acpi_cpufreq, the general user experience seems a
bit degraded, but most of all, gaming performance in many instances (if
not all) is cut in half. Fully half. 

I have an RTX 3090 and a Ryzen 9 5900X, with 32GB (4x8) DDR4 3600. In
May we know the family/model id of your processors?
Control with DLSS and RT enabled, on 5.15.rc5 with acpi_cpufreq, I get
120-130 fps at 1440p. The same exact kernel with v3 of AMD_CPPC gives
me 50 fps. GPU usage is still at 100, but the CPU frequency is being
reported as like 5100Mhz*, and other assorted weirdness, but most
importantly the fps is stuck at 50. This is regardless of performance
scheduler (schedutil, ondemand, userspace or performance). 
May we know your SMU version in your SBIOS?

Thanks,
Ray
*My CPU can indeed boost over 5GHz on a single core here and there, but
this was constant and on all cores, so clearly it wasn't accurate.

Also, from the documentation it looks like there's supposed to be a way
to fall back to acpi_cpufreq, but I found no such way to do that. If
AMD_CPPC was built into the kernel, I had to use amd-pstate, there was
no other option. Maybe I misinterpreted and acpi-cpufreq is only able
to be used as a fallback for CPUs that don't support amd-pstate.

I know that gaming on Linux hasn't historically been one of AMD's
priorities with their CPUs, but with the Steam Deck upcoming I would
imagine this is a pretty important use-case, and I've tested multiple
games and they all lose a full 50% performance. I'm happy to test any
revisions or even kernel parameters or whatever else to try and get
this sorted. 


quoted
Would you mind that we add a module param or filter the known good
processors (mobile parts) to load amd-pstate. And others can use the
param
to switch between amd-pstate and acpi-cpufreq manually? After we
address the
performance gap, then we can switch it back.

This would be something I would be interested to try.
quoted
It seems the issue mainly from the processors with big number of
cores and
threads. Let's find the similiar family threadripper or EYPC
processors to
duplicate the test results. Will contact at you for details. :-)
This may be an interesting route of investigation, I could potentially
try running a game with `taskset -c 0-7` or something similar. 
quoted
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help