Hello! Will Deacon has proposed adding smp_read_barrier_depends() to READ_ONCE(), which would mean that quite a few instances of smp_read_barrier_depends() would become redundant. This series depends on Will's change and removes those smp_read_barrier_depends(), while fixing a bug or two along the way. Some of these bugs are subtle, hence posting this sooner rather than later. This patch series depends on an in-progress series from Mark Rutland that changes all calls to ACCESS_ONCE() to either READ_ONCE() or WRITE_ONCE(), depending. This patch series also depends on an upcoming patch from Will Deacon that adds smp_read_barrier_depends() to Alpha's relaxed/release RMW atomic operations. As Will pointed out, once all of these patch series are in place, the core kernel will no longer need any Alpha-specific code, with the sole exception of READ_ONCE() and of course smp_read_barrier_depends() itself. Pretty cool, huh? ;-) Thanx, Paul ------------------------------------------------------------------------ Documentation/memory-barriers.txt | 11 ++++++----- arch/mn10300/kernel/mn10300-serial.c | 7 +++++-- drivers/net/ethernet/qlogic/qed/qed_spq.c | 4 +--- fs/dcache.c | 10 +++------- include/linux/assoc_array_priv.h | 5 +++-- include/linux/percpu-refcount.h | 6 +++--- include/linux/rcupdate.h | 23 +++++++++++------------ include/linux/rtnetlink.h | 3 +-- include/linux/seqlock.h | 3 +-- kernel/events/uprobes.c | 12 ++++++------ kernel/locking/qspinlock.c | 12 +++++------- kernel/tracepoint.c | 9 ++++----- lib/assoc_array.c | 20 ++------------------ lib/percpu-refcount.c | 8 ++++---- mm/ksm.c | 9 +-------- net/ipv4/netfilter/arp_tables.c | 7 +------ net/ipv4/netfilter/ip_tables.c | 7 +------ net/ipv6/netfilter/ip6_tables.c | 7 +------ security/keys/keyring.c | 7 ------- 19 files changed, 59 insertions(+), 111 deletions(-)