Re: How to debug XDP_REDIRECT errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 20 Oct 2019 16:07:13 -0500
Zvi Effron <zeffron@xxxxxxxxxxxxx> wrote:

> Hello,
> 
> I'm trying to get some additional performance out of XDP on the i40e
> driver (under kernel 5.0.7, Fedora 28) by adjusting the queues to be
> one per desired core. I have several cores isolated for network
> traffic, so I'm adjusting the queues to be one per isolated core (with
> IRQ adjustments to match) as opposed to the default of one per online
> core. I've noticed that when I adjust the number of queues down, I see
> packet loss proportional to the number of queues missing. For example,
> if I drop the queues from the default of 36 down to 34, I see ~6%
> packet loss.
> 
> Using the trace_pipe, I've managed to confirm that my program is
> successfully calling bpf_redirect_map() for all of the packet (no
> losst). I found the xdp_monitor tutorial[1] and ran it, and it shows
> the loss showing up as XDP_REDIRECT errors (which I believe means the
> raw_tracepoint xdp:xdp_redirect_map_err).

I usually use standard perf-record:

 $ perf record -e xdp:xdp_redirect_map_err sleep 1

And then look at detailed results with:

 $ perf script

As this is a standard tracepoint, you can lookup docs for howto use
tracepoints.  To debug closer you likely want to extract other info,
and maybe aggregate.  I will recommend looking closer at bpftrace
tool[2].

[2] https://github.com/iovisor/bpftrace/blob/master/docs/tutorial_one_liners.md


> At this point, I'm a bit stuck on how to proceed further to determine
> what is causing the redirect error and where the packet is being
> dropped.
> 
> Any help in pointing me in the right direction for debugging
> techniques would be greatly appreciated.
>
> Thanks!
> --Zvi
> 
> [1]: https://github.com/xdp-project/xdp-tutorial/blob/master/tracing02-xdp-monitor



-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer





[Index of Archives]     [Linux Networking Development]     [Fedora Linux Users]     [Linux SCTP]     [DCCP]     [Gimp]     [Yosemite Campsites]

  Powered by Linux