On 1/20/20 10:21 AM, Björn Töpel wrote:
From: Björn Töpel <bjorn.topel@xxxxxxxxx> Currently, the AF_XDP rings uses fences for the kernel-side produce/consume functions. By updating rings for load-acquire/store-release semantics, the full barrier (smp_mb()) on the consumer side can be replaced. Signed-off-by: Björn Töpel <bjorn.topel@xxxxxxxxx>
If I'm not missing something from the ring update scheme, don't you also need to adapt to STORE.rel ->producer with matching barrier in tools/lib/bpf/xsk.h ? Btw, alternative model could also be 09d62154f613 ("tools, perf: add and use optimized ring_buffer_{read_head, write_tail} helpers") for the kernel side in order to get rid of the smp_mb() on x86. Thanks, Daniel