[tip:x86/atomic] x86-32: Allow UP/SMP lock replacement in cmpxchg64

From: tip-bot for Luca Barbieri
Date: Fri Feb 26 2010 - 00:13:29 EST


Commit-ID: 9c76b38476b18c45f97098a10b0176b321eba3ea
Gitweb: http://git.kernel.org/tip/9c76b38476b18c45f97098a10b0176b321eba3ea
Author: Luca Barbieri <luca@xxxxxxxxxxxxxxxxx>
AuthorDate: Wed, 24 Feb 2010 10:54:23 +0100
Committer: H. Peter Anvin <hpa@xxxxxxxxx>
CommitDate: Thu, 25 Feb 2010 20:47:03 -0800

x86-32: Allow UP/SMP lock replacement in cmpxchg64

Use the functionality just introduced in the previous patch: mark the
lock prefixes in cmpxchg64 alternatives for UP removal.

Changes in v2:
- Naming change

Signed-off-by: Luca Barbieri <luca@xxxxxxxxxxxxxxxxx>
LKML-Reference: <1267005265-27958-3-git-send-email-luca@xxxxxxxxxxxxxxxxx>
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx>
---
arch/x86/include/asm/cmpxchg_32.h | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/x86/include/asm/cmpxchg_32.h b/arch/x86/include/asm/cmpxchg_32.h
index ffb9bb6..8859e12 100644
--- a/arch/x86/include/asm/cmpxchg_32.h
+++ b/arch/x86/include/asm/cmpxchg_32.h
@@ -271,7 +271,8 @@ extern unsigned long long cmpxchg_486_u64(volatile void *, u64, u64);
__typeof__(*(ptr)) __ret; \
__typeof__(*(ptr)) __old = (o); \
__typeof__(*(ptr)) __new = (n); \
- alternative_io("call cmpxchg8b_emu", \
+ alternative_io(LOCK_PREFIX_HERE \
+ "call cmpxchg8b_emu", \
"lock; cmpxchg8b (%%esi)" , \
X86_FEATURE_CX8, \
"=A" (__ret), \
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/