Re: [PATCH] x86/split_lock: Restore warn mode (and add a new one) to avoid userspace regression

From: Joshua Ashton
Date: Wed Sep 28 2022 - 16:50:52 EST




On 9/28/22 17:54, Luck, Tony wrote:
So let's revamp the idea of having another option/mode for the split
lock detector, which is hereby called "seq" (based on the original
"sequential" naming in [0]). Also introduces a Kconfig option to give
the option of Linux vendors have a choice what mode should be their
default. While at it, fix/improve the documentation about bus locking.

[1] https://github.com/doitsujin/dxvk/issues/2938

Why not just use the workaround suggested in that bug report:

"so manual switching from default setting to split_lock_detect=off helps as workaround here"

If you add this extra mode, I'm going to argue that the kernel default
should be "seq" rather than "warn". So these game players will need
to add a split_lock_detect=off (or warn) option.

Has a bug report been filed against the God Of War game? Probably worth fixing,
the performance penalty for split lock is only going to get worse as numbers of
cores keeps increasing.

It's not just about God of War specifically.
There are many old titles that will never, ever, get updated to fix this problem.
These titles worked perfectly fine and were performant before.

I completely understand that split-locks are bad, and developers should fix their code, but applications paying penalties like this really doesn't make sense for the Linux desktop.

If server-oriented distributions want to set their default to `seq`, then that's completely fine, and I would completely encourage them doing that -- but I really don't think the Linux kernel should be essentially breaking compatibility with these applications by default and throwing desktop Linux usecases under the bus.

- Joshie 🐸✨


-Tony