Thread (19 messages) 19 messages, 6 authors, 2019-10-09

Re: [PATCH bpf-next 2/4] xsk: allow AF_XDP sockets to receive packets directly from a queue

From: Alexei Starovoitov <hidden>
Date: 2019-10-09 01:20:29
Also in: bpf, intel-wired-lan

On Mon, Oct 7, 2019 at 11:18 PM Sridhar Samudrala
[off-list ref] wrote:
+
+u32 bpf_direct_xsk(const struct bpf_prog *prog, struct xdp_buff *xdp)
+{
+       struct xdp_sock *xsk;
+
+       xsk = xdp_get_xsk_from_qid(xdp->rxq->dev, xdp->rxq->queue_index);
+       if (xsk) {
+               struct bpf_redirect_info *ri = this_cpu_ptr(&bpf_redirect_info);
+
+               ri->xsk = xsk;
+               return XDP_REDIRECT;
+       }
+
+       return XDP_PASS;
+}
+EXPORT_SYMBOL(bpf_direct_xsk);
So you're saying there is a:
"""
xdpsock rxdrop 1 core (both app and queue's irq pinned to the same core)
   default : taskset -c 1 ./xdpsock -i enp66s0f0 -r -q 1
   direct-xsk :taskset -c 1 ./xdpsock -i enp66s0f0 -r -q 1
6.1x improvement in drop rate
"""

6.1x gain running above C code vs exactly equivalent BPF code?
How is that possible?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help