]> git.baikalelectronics.ru Git - kernel.git/commit
x86: Optimize cmpxchg64() at build-time some more
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 1 Oct 2009 00:57:27 +0000 (17:57 -0700)
committerIngo Molnar <mingo@elte.hu>
Thu, 1 Oct 2009 06:01:08 +0000 (08:01 +0200)
commit24e1723366aa8f444076d2442f3574d24c722ed5
treec050631e7fbf5be10edb45ee3be0ded2670b7512
parent8e2c5b80af730fdceb58fdbb2010066264aff704
x86: Optimize cmpxchg64() at build-time some more

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: Ingo Molnar <mingo@elte.hu>
arch/x86/Kconfig.cpu