linux/arch/tile
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
..
configs kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
include arch/tile: improve support for PCI hotplug 2011-05-04 14:39:53 -04:00
kernel arch/tile: allow nonatomic stores to interoperate with fast atomic syscalls 2011-05-04 14:40:07 -04:00
kvm arch/tile: parameterize system PLs to support KVM port 2010-10-15 15:38:09 -04:00
lib arch/tile: allow nonatomic stores to interoperate with fast atomic syscalls 2011-05-04 14:40:07 -04:00
mm arch/tile: support TIF_NOTIFY_RESUME 2011-05-02 18:53:35 -04:00
Kbuild arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
Kconfig arch/tile: improve support for PCI hotplug 2011-05-04 14:39:53 -04:00
Kconfig.debug kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Makefile arch/tile: parameterize system PLs to support KVM port 2010-10-15 15:38:09 -04:00