linux/arch/x86
Ingo Molnar 3a8d1788b3 x86: atomic64: Improve atomic64_xchg()
Remove the read-first logic from atomic64_xchg() and simplify
the loop.

This function was the last user of __atomic64_read() - remove it.

Also, change the 'real_val' assumption from the somewhat quirky
1ULL << 32 value to the (just as arbitrary, but simpler) value
of 0.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
LKML-Reference: <tip-05118ab8859492ac9ddda0154cf90e37b0a4a0b0@git.kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-07-03 20:23:55 +02:00
..
boot Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-20 10:49:48 -07:00
configs Merge branch 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-10 15:30:41 -07:00
crypto crypto: aes-ni - Remove CRYPTO_TFM_REQ_MAY_SLEEP from fpu template 2009-06-18 19:44:01 +08:00
ia32 Merge branch 'core/signal' into perfcounters/core 2009-04-30 21:16:49 +02:00
include/asm x86: atomic64: Improve atomic64_xchg() 2009-07-03 20:23:55 +02:00
kernel perf_counter: Ignore the nmi call frames in the x86-64 backtraces 2009-07-01 22:37:23 +02:00
kvm KVM: shut up uninit compiler warning in paging_tmpl.h 2009-06-28 14:10:32 +03:00
lguest lguest: PAE support 2009-06-12 22:27:08 +09:30
lib x86: atomic64: Improve atomic64_xchg() 2009-07-03 20:23:55 +02:00
math-emu Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
mm x86: only clear node_states for 64bit 2009-06-30 18:56:01 -07:00
oprofile Merge branch 'linus' into perfcounters/core 2009-06-11 17:55:42 +02:00
pci Revert "PCI: use ACPI _CRS data by default" 2009-06-24 16:23:03 -07:00
power x86, mce: Fix mce resume on 32bit 2009-06-23 13:36:17 -07:00
vdso gcov: enable GCOV_PROFILE_ALL for x86_64 2009-06-18 13:03:58 -07:00
video
xen Merge branch 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-10 16:16:27 -07:00
Kbuild x86: standardize Kbuild rules 2009-04-16 18:09:02 +02:00
Kconfig Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-20 10:56:46 -07:00
Kconfig.cpu Revert "x86, bts: reenable ptrace branch trace support" 2009-06-11 00:32:00 +02:00
Kconfig.debug kmemcheck: make kconfig accessible for other architectures 2009-06-15 15:49:17 +02:00
Makefile kmemcheck: add the kmemcheck core 2009-06-13 15:37:30 +02:00
Makefile_32.cpu