Public bug reported: A bus lock is acquired either through split locked access to writeback (WB) memory or by using locks to uncacheable (UC) memory. This is typically > 1000 cycles slower than atomic operation within a cache line. It also disrupts performance on other cores (which must wait for the bus lock to be released before their memory operations).
Bus lock debug exception is a sub-feature of bus lock detection. It is an ability to notify the kernel by an #DB trap after the instruction acquires a bus lock when CPL>0. This allows the kernel to enforce user application throttling or mitigations. A logical processor can be configured to generate a debug exception (#DB) following acquisition of a bus lock. Software enables those debug exceptions by setting bit 2 of the IA32_DEBUGCTL MSR. The CPU enumerates this feature using CPUID.(EAX=7, ECX=0).ECX[24]. A debug exception due to acquistion of a bus lock is reported as a trap following execution of the instruction acquiring the bus lock. The processor identifies such debug exceptions using bit 11 of DR6: delivery of a bus-lock #DB clears DR6[11]. Linux 5.13 ** Affects: kvm (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1954469 Title: KVM Bus Lock Debug Exception To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/kvm/+bug/1954469/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs