Re: [PATCH net-next v3] lan966x: Don't use xdp_frame when action is XDP_TX

From: Alexander Lobakin
Date: Mon Apr 24 2023 - 09:39:13 EST


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