It has everything to do with it. Take a look at my kernel stanzas in my grub.cfg
Code: Select all
menuentry 'Arch Linux' {
insmod gzio
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 69A1-4857
linux /vmlinuz-6.8.5 root=/dev/nvme1n1p2 ro mitigations=off split_lock_detect=off loglevel=3 quiet
}
See split_lock_detect=off
That's what that is for, to turn off that deliberate sabotage. That's more than a warning, it deliberately kills performance when that happens to "punish" the application (which means user) by throttling.
I think if you're using grub-mkconfig rather than manually like me, you should probably do it in /etc/default/grub
In that file, look for GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet" near the top, and add it there
Code: Select all
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet split_lock_detect=off"
I do mean add this to all your kernels, everywhere.
P.S. I'm refreshing your memory here, I've covered this before. One thing I know for sure hits this, under some circumstances, Wine will translate some Windows primitives into splitlocks and you may see those messages while playing some games. (it might cause a stutter or the whole game to perform like shit). It's not only Wine processes though, there are still applications that might hit it. The first I heard of it was a few years ago, suddenly God of War performance changed and got shitty. I was thinking Mesa, and I was done with the game anyway, finished my third playthrough so I shrugged. I came to find out that it was splitlock detection in the kernel causing it.
The kernel devs want splitlocks to go away. We have much better mechanisms, this old crap doesn't jibe well with atomic operations.
Now, splitlocks are bad, but not as bad as that sabotage for the way we use our systems (desktop/gaming not multiuser server environment etc.). Linux doesn't really favour the user as much as the system. Alot of the shit in the kernel (and the defaults) is to protect the system from me, hence all my overrides, sysctls, limits etc.
A split lock is any atomic operation whose operand crosses two cache lines. Since the operand spans two cache lines and the operation must be atomic, the system locks the bus while the CPU accesses the two cache lines.