ValveSoftware / ValveSoftware/Proton
High CPU usage from syscall conflict in pf-kernel 5.15
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 32.8k
- Forks
- 1.6k
- PR merge metrics
- PR metrics pending
Description
When using proton-6.3-8 OR proton experimental, proton/wine components (not counting the actual game itself) produce some insane CPU usage, on average some 14 cores worth (!!!) of load. I tried various games and it happens with every single game I tried.
it looks something like this (tested with Disgaea 1 here, but it's more or less the same with other games, too)

note how wine/proton adds up to 14 cores worth of load, while the game itself only uses up 1/8th (12.4%) of a core.
I bisected this regression and found this to be the offending commit:
commit 50b4c8785f389f0840bfc6a9ee3f233c9de2da48 (HEAD, tag: proton-6.3-8-rc9, tag: proton-6.3-8, origin/proton_6.3-rc, origin/proton_6.3, origin/HEAD, proton_6.3)
Author: Arkadiusz Hiler <ahiler@codeweavers.com>
Date: Mon Nov 15 18:48:05 2021 +0200
update wine
Unfortunately, this commit just updates a bunch of submodules, yet I am not sure how to bisect submodules correctly, so I cannot pinpoint what exactly causes this regression at this time. Although if you so require of me, I can try figuring that out and bisect the submodules, too, to find the exact change.
For the sake of comparison, this is how the CPU usage looks like on that very same game when running on commit ea7eaa41d15ad3c27b53297946ae9a2ca2ed3974 (i.e. the commit right before the "bad" commit). Note how wine/proton itself basically doesn't use any cpu time

P.S. I do have a 16c/32t processor, so I got cores to spare either way, but this high usage is just silly – I'll get blamed for global warming if this keeps up 😂👌
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing Proton commit 50b4c8785f389f0840bfc6a9ee3f233c9de2da48 with ea7eaa41d15ad3c27b53297946ae9a2ca2ed3974, then bisect the Wine and other updated submodules mentioned in the update. Reproduce the high CPU usage with proton-6.3-8 or Proton Experimental and narrow the regression to its offending change. Done means identifying the cause and confirming that the excessive Proton/Wine CPU load no longer occurs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- operating-systems, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100