1
linux/arch
Chris Metcalf df29ccb6c0 arch/tile: allow nonatomic stores to interoperate with fast atomic syscalls
This semantic was already true for atomic operations within the kernel,
and this change makes it true for the fast atomic syscalls (__NR_cmpxchg
and __NR_atomic_update) as well.  Previously, user-space had to use
the fast atomic syscalls exclusively to update memory, since raw stores
could lose a race with the atomic update code even when the atomic update
hadn't actually modified the value.

With this change, we no longer write back the value to memory if it
hasn't changed.  This allows certain types of idioms in user space to
work as expected, e.g. "atomic exchange" to acquire a spinlock, followed
by a raw store of zero to release the lock.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2011-05-04 14:40:07 -04:00
..
alpha alpha: Fix uninitialized value in read_persistent_clock. 2011-04-17 14:41:30 -07:00
arm Merge branch 'for-torvalds' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson 2011-04-25 19:00:55 -07:00
avr32 avr32: add ATAG_BOARDINFO 2011-04-13 15:46:59 +02:00
blackfin Blackfin: SMP: fix cache flush loop 2011-04-13 19:34:06 -04:00
cris Fix common misspellings 2011-03-31 11:26:23 -03:00
frv Fix common misspellings 2011-03-31 11:26:23 -03:00
h8300 genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
ia64 Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6 2011-04-07 11:14:49 -07:00
m32r Fix common misspellings 2011-03-31 11:26:23 -03:00
m68k m68k,m68knommu: Wire up name_to_handle_at, open_by_handle_at, clock_adjtime, syncfs 2011-04-12 19:02:03 -07:00
microblaze usb: Fix Kconfig unmet dependencies for Microblaze EHCI 2011-04-13 15:43:59 -07:00
mips Fix common misspellings 2011-03-31 11:26:23 -03:00
mn10300 Fix common misspellings 2011-03-31 11:26:23 -03:00
parisc Fix common misspellings 2011-03-31 11:26:23 -03:00
powerpc powerpc/powermac: Build fix with SMP and CPU hotplug 2011-04-18 15:46:35 +10:00
s390 [S390] kvm-390: Let kernel exit SIE instruction on work 2011-04-20 10:15:44 +02:00
score Fix common misspellings 2011-03-31 11:26:23 -03:00
sh Merge branch 'fbdev-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6 2011-04-07 12:49:17 -07:00
sparc Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6 2011-04-07 11:14:49 -07:00
tile arch/tile: allow nonatomic stores to interoperate with fast atomic syscalls 2011-05-04 14:40:07 -04:00
um um: disable CONFIG_CMPXCHG_LOCAL 2011-04-14 16:06:56 -07:00
unicore32 Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6 2011-04-07 11:14:49 -07:00
x86 Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 2011-04-23 22:35:16 -07:00
xtensa xtensa: Fixup irq conversion fallout and nmi_count 2011-04-20 00:32:09 +02:00
.gitignore
Kconfig oprofile, s390: Cleanups 2011-03-16 14:30:40 +01:00