Skip to content
  • Linus Torvalds's avatar
    x86: Optimize cmpxchg64() at build-time some more · 982d007a
    Linus Torvalds authored
    
    
    Try to avoid the 'alternates()' code when we can statically
    determine that cmpxchg8b is fine. We already have that
    CONFIG_x86_CMPXCHG64 (enabled by PAE support), and we could easily
    also enable it for some of the CPU cases.
    
    Note, this patch only adds CMPXCHG8B for the obvious Intel CPU's,
    not for others. (There was something really messy about cmpxchg8b
    and clone CPU's, so if you enable it on other CPUs later, do it
    carefully.)
    
    If we avoid that asm-alternative thing when we can assume the
    instruction exists, we'll generate less support crud, and we'll
    avoid the whole issue with that extra 'nop' for padding instruction
    sizes etc.
    
    LKML-Reference: <alpine.LFD.2.01.0909301743150.6996@localhost.localdomain>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    982d007a