Recently lockless_dereference() was added which can be used in place of hard-coding smp_read_barrier_depends(). http://lkml.iu.edu/hypermail/linux/kernel/1410.3/04561.html The following series tries to do this. There are still some hard-coded locations which I was not sure how to replace with. I will send in separate patches/questions regarding them. Pranith Kumar (9): doc: memory-barriers.txt: Document use of lockless_dereference() drivers: dma: Replace smp_read_barrier_depends() with lockless_dereference() dcache: Replace smp_read_barrier_depends() with lockless_dereference() hyperv: Replace smp_read_barrier_depends() with lockless_dereference() percpu: Replace smp_read_barrier_depends() with lockless_dereference() perf: Replace smp_read_barrier_depends() with lockless_dereference() seccomp: Replace smp_read_barrier_depends() with lockless_dereference() task_work: Replace smp_read_barrier_depends() with lockless_dereference() netfilter: Replace smp_read_barrier_depends() with lockless_dereference() Documentation/memory-barriers.txt | 4 ++-- drivers/dma/ioat/dma_v2.c | 3 +-- drivers/dma/ioat/dma_v3.c | 3 +-- fs/dcache.c | 7 ++----- include/linux/hyperv.h | 9 ++++----- include/linux/percpu-refcount.h | 4 +--- kernel/events/core.c | 3 +-- kernel/events/uprobes.c | 8 ++++---- kernel/seccomp.c | 7 +++---- kernel/task_work.c | 3 +-- net/ipv4/netfilter/arp_tables.c | 3 +-- net/ipv4/netfilter/ip_tables.c | 3 +-- net/ipv6/netfilter/ip6_tables.c | 3 +-- 13 files changed, 23 insertions(+), 37 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html