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