]> git.baikalelectronics.ru Git - kernel.git/commit
sparc32: Implement xchg and atomic_xchg using ATOMIC_HASH locks
authorAndreas Larsson <andreas@gaisler.com>
Wed, 5 Nov 2014 14:52:08 +0000 (15:52 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 7 Nov 2014 20:51:44 +0000 (12:51 -0800)
commit17c78299c609331b759d22309f5aa23ef0adf8b3
tree1590a724b9a40458ba1a990ceb41fc51839196fc
parentdf53e31bc726a5ede21c668275058892e74baf18
sparc32: Implement xchg and atomic_xchg using ATOMIC_HASH locks

Atomicity between xchg and cmpxchg cannot be guaranteed when xchg is
implemented with a swap and cmpxchg is implemented with locks.
Without this, e.g. mcs_spin_lock and mcs_spin_unlock are broken.

Signed-off-by: Andreas Larsson <andreas@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/include/asm/atomic_32.h
arch/sparc/include/asm/cmpxchg_32.h
arch/sparc/lib/atomic32.c