This two-patch series introduces load-acquire/store-release semantics for the AF_XDP rings. For most contemporary architectures, this is more effective than a SPSC ring based on smp_{r,w,}mb() barriers. More importantly, load-acquire/store-release semantics make the ring code easier to follow. This is effectively the change done in commit 6c43c091bdc5 ("documentation: Update circular buffer for load-acquire/store-release"), but for the AF_XDP rings. Both libbpf and the kernel-side are updated. More details in each commit. Thanks, Björn Björn Töpel (2): xsk: update rings for load-acquire/store-release semantics libbpf, xsk: add libbpf_smp_store_release libbpf_smp_load_acquire net/xdp/xsk_queue.h | 27 ++++++-------- tools/lib/bpf/libbpf_util.h | 72 +++++++++++++++++++++++++------------ tools/lib/bpf/xsk.h | 17 +++------ 3 files changed, 66 insertions(+), 50 deletions(-) base-commit: 85e142cb42a1e7b33971bf035dae432d8670c46b -- 2.27.0