More work on streamlining and performance optimizing the tracepoints for XDP.
I've created a simple xdp_monitor application that uses this tracepoint, and prints statistics. Available at github: https://github.com/netoptimizer/prototype-kernel/blob/master/kernel/samples/bpf/xdp_monitor_kern.c https://github.com/netoptimizer/prototype-kernel/blob/master/kernel/samples/bpf/xdp_monitor_user.c The improvement over tracepoint with strcpy: 9810372 - 8428762 = +1381610 pps faster - (1/9810372 - 1/8428762)*10^9 = -16.7 nanosec - 100-(8428762/9810372*100) = strcpy-trace is 14.08% slower - 981037/8428762*100 = removing strcpy made it 11.64% faster V3: Fix merge conflict with commit e4a8e817d3cb ("bpf: misc xdp redirect cleanups") V2: Change trace_xdp_redirect() to align with args of trace_xdp_exception() --- Jesper Dangaard Brouer (5): xdp: remove bpf_warn_invalid_xdp_redirect xdp: make generic xdp redirect use tracepoint trace_xdp_redirect ixgbe: use return codes from ndo_xdp_xmit that are distinguishable xdp: remove net_device names from xdp_redirect tracepoint xdp: get tracepoints xdp_exception and xdp_redirect in sync drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 +- include/linux/filter.h | 3 +- include/trace/events/xdp.h | 36 ++++++++++--------- net/core/dev.c | 4 +- net/core/filter.c | 47 +++++++++++++------------ 5 files changed, 49 insertions(+), 45 deletions(-) --