[RFC 00/32] remove rte_smp barrier functions
Stephen Hemminger
stephen at networkplumber.org
Wed Jul 29 19:53:53 CEST 2026
This patch series completes the removal of rte_smp_XX barrier
functions that was announced over five years ago (20.05).
Most of this is mechanical with AI assistance, so strongly
encourage maintainers to take a good look.
Stephen Hemminger (32):
bpf: replace deprecated SMP barriers with C11 fences
test: remove test for rte_smp_mb
bus/vmbus: fix ring buffer ordering on weakly ordered CPUs
bus/vmbus: fix missing acquire on receive ring index
bus/vmbus: replace SMP barriers with C11 memory fences
baseband: convert rte_smp_rmb to fence
net/hinic: replace rte_smp_rmb
net/intel: replace rte_smp_rmb
crypto_caam_jr: replace rte_smp_rmb
net/virtio: replcae rte_smp_rmb
net/thunderx: replace rte_smp_rmb
stack: always use C11 memory model implementation
ring: replace SMP read barrier with C11 acquire fence
crypto/virtio: update comment reference to rte_smp_rmb
event/sw: fix unlinks in progress counter races
event/sw: replace SMP barriers with C11 atomics
eal/x86: move optimized fence out of SMP barrier
common/octeontx: remove redundant barrier in mbox
crypto/caam_jr: use IO barrier before job ring doorbell
crypto/octeontx: use IO barrier before doorbell
mempool/octeontx: use IO barrier in pool destroy
event/octeontx: replace deprecated SMP barriers
event/dpaa2: replace deprecated barrier in selftest
event/dsw: replace SMP barriers with release fences
event/opdl: replace SMP barriers with C11 atomics
net/netvsc: replace SMP barrier in RNDIS response
net/thunderx: replace deprecated SMP barriers
net/virtio: replace deprecated barrier in avail index update
eal: remove stale SMP barrier in rte_service
eal: remove rte_smp_XX
checkpatches: no longer warn about rte_smp_XX
doc: update release notes about rte_smp_XX removal
app/test/meson.build | 1 -
app/test/test_barrier.c | 288 ------------------
devtools/checkpatches.sh | 8 -
doc/guides/rel_notes/deprecation.rst | 7 -
doc/guides/rel_notes/release_26_11.rst | 6 +
.../fpga_5gnr_fec/rte_fpga_5gnr_fec.c | 8 +-
drivers/baseband/fpga_lte_fec/fpga_lte_fec.c | 12 +-
drivers/bus/vmbus/private.h | 12 +-
drivers/bus/vmbus/vmbus_bufring.c | 17 +-
drivers/bus/vmbus/vmbus_channel.c | 10 +-
drivers/common/octeontx/octeontx_mbox.c | 6 +-
drivers/crypto/caam_jr/caam_jr.c | 5 +-
.../crypto/octeontx/otx_cryptodev_hw_access.h | 4 +-
drivers/crypto/virtio/virtqueue.h | 2 +-
drivers/event/dpaa2/dpaa2_eventdev_selftest.c | 4 +-
drivers/event/dsw/dsw_event.c | 8 +-
drivers/event/octeontx/ssovf_evdev_selftest.c | 6 +-
drivers/event/octeontx/ssovf_worker.c | 8 +-
drivers/event/opdl/opdl_evdev.c | 7 +-
drivers/event/sw/sw_evdev.c | 37 ++-
drivers/event/sw/sw_evdev.h | 2 +-
drivers/event/sw/sw_evdev_scheduler.c | 13 +-
drivers/mempool/octeontx/octeontx_fpavf.c | 4 +-
drivers/net/hinic/base/hinic_pmd_cmdq.c | 2 +-
drivers/net/hinic/base/hinic_pmd_mgmt.c | 2 +-
drivers/net/intel/ice/ice_rxtx.c | 2 +-
drivers/net/intel/ixgbe/ixgbe_rxtx.c | 2 +-
drivers/net/netvsc/hn_rndis.c | 2 +-
drivers/net/thunderx/base/nicvf_hw.c | 3 +-
drivers/net/thunderx/base/nicvf_plat.h | 5 +-
drivers/net/virtio/virtqueue.h | 18 +-
lib/bpf/bpf_pkt.c | 18 +-
lib/eal/arm/include/rte_atomic_32.h | 6 -
lib/eal/arm/include/rte_atomic_64.h | 6 -
lib/eal/common/rte_service.c | 1 -
lib/eal/include/generic/rte_atomic.h | 61 ----
lib/eal/loongarch/include/rte_atomic.h | 6 -
lib/eal/ppc/include/rte_atomic.h | 6 -
lib/eal/riscv/include/rte_atomic.h | 6 -
lib/eal/x86/include/rte_atomic.h | 41 +--
lib/ring/rte_ring_gcc_pvt.h | 6 +-
lib/stack/meson.build | 1 -
lib/stack/rte_stack_lf.h | 4 -
lib/stack/rte_stack_lf_generic.h | 153 ----------
44 files changed, 156 insertions(+), 670 deletions(-)
delete mode 100644 app/test/test_barrier.c
delete mode 100644 lib/stack/rte_stack_lf_generic.h
--
2.53.0
More information about the dev
mailing list