Has anyone run into split_lock_detect?

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.

A bus lock is acquired through either split locked access to writeback (WB) memory or any locked access to non-WB memory. This is typically thousands of cycles slower than an atomic operation within a cache line. It also disrupts performance on other cores and brings the whole system to its knees.

I would use the kernel paramater split_lock_detect=off

https://www.kernel.org/doc/html/v5.18/x86/buslock.html#

2 Likes