On Sat Feb 17 01:00:37 2024 +0000, Paul Gofman wrote:
It won't make it unnecessary, it will make it useless with working ntsync. As even with fsync already (which has some object waits unsupported), I observe in some real games that we are seriously lacking any threads sitting in APC wait (waiting in server_select) which could be the candidates to process those asyncs. I think normally we won't be having any such threads unless there is some suspended thread exist which is a rare case.
If I understood your comments correctly, this patch
1. doesn't help Proton *with esync/fsync enabled* as well as upstream Wine with ntsync, and 2. may end up causing regression if some app actually turned out to rely on the "least practically interesting case" you have described.
Of course, Proton works with esync/fsync disabled. For completeness, would you mind sharing what (or how many) games are affected by SIGUSR1 perf?[^1]
Also, if this fix isn't urgent, I wonder if we should instead spend some time to find a more general mechanism that matches Windows behavior more closely (instead of deviating from it further and causing potential regression).
[^1]: I think this applies to other MRs that touch SIGUSR1 behaviour as well.