From: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx> Date: Sat, 22 Apr 2023 16:23:44 +0200 > When the action of an xdp program was XDP_TX, lan966x was creating > a xdp_frame and use this one to send the frame back. But it is also > possible to send back the frame without needing a xdp_frame, because > it is possible to send it back using the page. > And then once the frame is transmitted is possible to use directly > page_pool_recycle_direct as lan966x is using page pools. > This would save some CPU usage on this path, which results in higher > number of transmitted frames. Bellow are the statistics: > Frame size: Improvement: > 64 ~8% > 256 ~11% > 512 ~8% > 1000 ~0% > 1500 ~0% > > Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx> Reviewed-by: Alexander Lobakin <aleksander.lobakin@xxxxxxxxx> > --- > v2->v3: > - fix length issue when the XDP action is XDP_REDIRECT, this issue was > introduced in v2 of this patch series. > - reduce the number of changes by moving back all the assignments to > next_dcb_buf > > v1->v2: > - reduce number of arguments for the function lan966x_fdma_xmit_xdpf, > as some of them are mutual exclusive, and other can be replaced with > deduced from the other ones > - update commit message and add statistics for the improvement [...] Thanks, Olek