[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210301104318.263262-1-bjorn.topel@gmail.com>
Date: Mon, 1 Mar 2021 11:43:16 +0100
From: Björn Töpel <bjorn.topel@...il.com>
To: ast@...nel.org, daniel@...earbox.net, netdev@...r.kernel.org,
bpf@...r.kernel.org
Cc: Björn Töpel <bjorn.topel@...il.com>,
bjorn.topel@...el.com, magnus.karlsson@...el.com,
jonathan.lemon@...il.com, maximmi@...dia.com, andrii@...nel.org
Subject: [PATCH bpf-next 0/2] load-acquire/store-release semantics for AF_XDP rings
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
Powered by blists - more mailing lists