CPU utilization with GameMode vs game-performance

Hi, in the CachyOS Wiki it is written that you should not use GameMode. But you should use the game-performance wrapper script. However, I have a strange behavior with the wrapper script. I’m using a Ryzen 9 7950X3D CPU. This CPU has two CCDs, one with the additional L3 cache. Games are particularly happy about this.

But if I now play Cyberpunk with the help of the wrapper script. Then the CPU utilization looks like this (left MangoHud display) All CPU cores are more or less equally utilized.

But if I now use GameMode, it looks like this (right MangoHud display)

Now only the cores on the CCD with the extra L3 cache are actually utilized. And I have to say, that’s how it should actually be. There is no latency because of the CCD to CCD communication. And all threads can access the L3 cache.

Does the game-performance script take into account such special features as multiple CCDs or extra L3 cache? Or is it better to use GameMode, even if ananicy-cpp is running?

Hey,

Seems like youre likely using a custom config for gamemode. For now, I would suggest to use it then on such a CPU.

We are working together with the scx-scheds Scheduler maintainers to provide for this support automatically.
LAVD and bpfland has support added for this.

Hi, I have only installed the game-mode package. Nothing else is customized.

But I found out that if you set the following environment variables:

WINE_CPU_TOPOLOGY="16:0,1,2,3,4,5,6,7,16,17,18,19,20,21,22,23”

Then the game-performance wrapper script works perfectly. WINE then only allows the use of certain cores.

Great!

Glad to hear. You might want to take on the custom schedulers a look:

I gonna push today also a new scx-scheds-git package.

Thanks for the tip, I will definitely have a look at it.

Hello. Seems like I have a related question. Sorry if it was answered elsewhere, i was not able to find it. I am new to linux and cachyos, I do also have 7950x3d. I red on the wiki about amd cache optimizer but it looks like after every reboot cache optimizer switches back to frequency mode. Is there a need to switch it to cache if i start games through game-performance? And if so is there a way to switch the default to cache?

To be honest, I would leave the AMD Cache Optimizer in frequency mode. And then “push” the games to the CCD with cache using WINE_CPU_TOPOLOGY. If you run the Cache Optimizer in cache mode, then all tasks are pushed to the CDD with cache, and not just the game.

Thanks. So game-performance does not take cache ccd in to account?

As far as I know not, but Feral GameMode does.