Messages in this thread | | | Date | Fri, 1 Dec 2017 11:50:53 -0800 | From | "Paul E. McKenney" <> | Subject | [PATCH tip/core/rcu 0/21] De-emphasize {smp_,}read_barrier_depends |
| |
Hello!
Now that READ_ONCE() includes smp_read_barrier_depends(), almost nothing else needs to, the exceptions being DEC Alpha architecture-specific code and of course READ_ONCE() itself. This series therefore removes smp_read_barrier_depends() and read_barrier_depends() from elsewhere, as they no longer have any effect. Note that this patch series also prohibits use of InfiniBand on DEC Alpha: (1) A poll of DEC Alpha users revealed no use of InfiniBand and (2) It is not clear that InfiniBand's memory ordering correctly handles DEC Alpha, even with the smp_read_barrier_depends() invocations.
Note also that patch 4 moves to release-acquire ordering to ensure that the name length is properly synchronized. An alternative approach would be to place the length in with the name, so that dependency ordering would cover both the length and the name, but doing so seemed a bit intrusive for this series.
Thanx, Paul
------------------------------------------------------------------------
Documentation/RCU/Design/Requirements/Requirements.html | 3 - Documentation/RCU/rcu_dereference.txt | 6 -- Documentation/RCU/whatisRCU.txt | 3 - Documentation/circular-buffers.txt | 3 - Documentation/memory-barriers.txt | 18 ++++--- arch/mn10300/kernel/mn10300-serial.c | 7 ++- drivers/dma/ioat/dma.c | 2 drivers/infiniband/Kconfig | 1 drivers/infiniband/hw/hfi1/rc.c | 4 - drivers/infiniband/hw/hfi1/ruc.c | 1 drivers/infiniband/hw/hfi1/sdma.c | 1 drivers/infiniband/hw/hfi1/uc.c | 2 drivers/infiniband/hw/hfi1/ud.c | 2 drivers/infiniband/hw/qib/qib_rc.c | 3 - drivers/infiniband/hw/qib/qib_ruc.c | 1 drivers/infiniband/hw/qib/qib_uc.c | 2 drivers/infiniband/hw/qib/qib_ud.c | 2 drivers/infiniband/sw/rdmavt/qp.c | 1 drivers/net/ethernet/qlogic/qed/qed_spq.c | 4 - drivers/vhost/vhost.c | 7 --- fs/dcache.c | 10 +--- include/linux/genetlink.h | 3 - include/linux/netfilter/nfnetlink.h | 3 - 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 | 37 +++++----------- 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 --- scripts/checkpatch.pl | 6 ++ security/keys/keyring.c | 7 --- 38 files changed, 85 insertions(+), 160 deletions(-)
| |