bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH bpf-next 0/2] load-acquire/store-release semantics for AF_XDP rings
@ 2021-03-01 10:43 Björn Töpel
  2021-03-01 10:43 ` [PATCH bpf-next 1/2] xsk: update rings for load-acquire/store-release semantics Björn Töpel
  2021-03-01 10:43 ` [PATCH bpf-next 2/2] libbpf, xsk: add libbpf_smp_store_release libbpf_smp_load_acquire Björn Töpel
  0 siblings, 2 replies; 18+ messages in thread
From: Björn Töpel @ 2021-03-01 10:43 UTC (permalink / raw)
  To: ast, daniel, netdev, bpf
  Cc: Björn Töpel, bjorn.topel, magnus.karlsson,
	jonathan.lemon, maximmi, andrii

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


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2021-03-03 22:57 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-01 10:43 [PATCH bpf-next 0/2] load-acquire/store-release semantics for AF_XDP rings Björn Töpel
2021-03-01 10:43 ` [PATCH bpf-next 1/2] xsk: update rings for load-acquire/store-release semantics Björn Töpel
2021-03-01 16:08   ` Toke Høiland-Jørgensen
2021-03-02  8:04     ` Björn Töpel
2021-03-02 10:23       ` Toke Høiland-Jørgensen
2021-03-03  7:56         ` Björn Töpel
2021-03-01 10:43 ` [PATCH bpf-next 2/2] libbpf, xsk: add libbpf_smp_store_release libbpf_smp_load_acquire Björn Töpel
2021-03-01 16:10   ` Toke Høiland-Jørgensen
2021-03-02  8:05     ` Björn Töpel
2021-03-02  9:13       ` Daniel Borkmann
2021-03-02  9:16         ` Björn Töpel
2021-03-02  9:25           ` Daniel Borkmann
2021-03-03  8:08             ` Björn Töpel
2021-03-03 15:39         ` Will Deacon
2021-03-03 16:34           ` Björn Töpel
2021-03-03  4:38   ` Andrii Nakryiko
2021-03-03  7:14     ` Björn Töpel
2021-03-03  8:19       ` Björn Töpel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).