On Thu, 22 Apr 2021 12:59:31 +0200 Lorenzo Bianconi <lorenzo.bianconi@xxxxxxxxxx> wrote: > > > > [...] > > > > + TP_ARGS(map_id, processed, sched, xdp_stats), > > > > > > > > TP_STRUCT__entry( > > > > __field(int, map_id) > > > > __field(u32, act) > > > > __field(int, cpu) > > > > - __field(unsigned int, drops) > > > > __field(unsigned int, processed) > > > > > > So, struct member @processed will takeover the room for @drops. > > > > > > Can you please test how an old xdp_monitor program will react to this? > > > Will it fail, or extract and show wrong values? > > > > Ack, right. I think we should keep the struct layout in order to maintain > > back-compatibility. I will fix it in v4. > > > > > > > > The xdp_mointor tool is in several external git repos: > > > > > > https://github.com/netoptimizer/prototype-kernel/blob/master/kernel/samples/bpf/xdp_monitor_kern.c > > > https://github.com/xdp-project/xdp-tutorial/tree/master/tracing02-xdp-monitor > > Running an old version of xdp_monitor with a patched kernel, I > verified the xdp sample does not crash but it reports wrong values > (e.g. pps are reported as drops for tracepoint disagliment). > I think we have two possibilities here: > - assuming tracepoints are not a stable ABI, we can just fix xdp > samples available in the kernel tree and provide a patch for > xdp-project > > - keep current tracepoint layout and just rename current drop variable > in bpf/cpumap.c in something like skb_alloc_drop. I like this one the most, rename to skb_alloc_drop, but keep layout. -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer