• Linus Torvalds's avatar
    Merge tag 'x86-splitlock-2021-04-26' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 64f8e73d
    Linus Torvalds authored
    Pull x86 bus lock detection updates from Thomas Gleixner:
     "Support for enhanced split lock detection:
    
      Newer CPUs provide a second mechanism to detect operations with lock
      prefix which go accross a cache line boundary. Such operations have to
      take bus lock which causes a system wide performance degradation when
      these operations happen frequently.
    
      The new mechanism is not using the #AC exception. It triggers #DB and
      is restricted to operations in user space. Kernel side split lock
      access can only be detected by the #AC based variant.
    
      Contrary to the #AC based mechanism the #DB based variant triggers
      _after_ the instruction was executed. The mechanism is CPUID
      enumerated and contrary to the #AC version which is based on the magic
      TEST_CTRL_MSR and model/family based enumeration on the way to become
      architectural"
    
    * tag 'x86-splitlock-2021-04-26' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      Documentation/admin-guide: Change doc for split_lock_detect parameter
      x86/traps: Handle #DB for bus lock
      x86/cpufeatures: Enumerate #DB for bus lock detection
    64f8e73d
traps.c 31.8 KB