Re: [PATCH net-next v4 0/2] net/mlx5: Avoid payload in skb's linear part for better GRO-processing
From: Tariq Toukan <hidden>
Date: 2025-08-31 09:28:08
Also in:
bpf, linux-rdma
From: Tariq Toukan <hidden>
Date: 2025-08-31 09:28:08
Also in:
bpf, linux-rdma
On 30/08/2025 1:43, Saeed Mahameed wrote:
On 28 Aug 20:36, Christoph Paasch via B4 Relay wrote:quoted
When LRO is enabled on the MLX, mlx5e_skb_from_cqe_mpwrq_nonlinear copies parts of the payload to the linear part of the skb. This triggers suboptimal processing in GRO, causing slow throughput,... This patch series addresses this by using eth_get_headlen to compute the size of the protocol headers and only copy those bits. This results in a significant throughput improvement (detailled results in the specific patch). Signed-off-by: Christoph Paasch <redacted>LGTM, I would love to take this to net-next-mlx5 and submit it back to netdev after regression testing if that's ok? Christoph? Anyway I will wait for Jakub to mark this as "awaiting-upstream" or if he applies it directly then fine.
Hi, I recall trying out similar approach internally a few years ago. eth_get_headlen() function didn't work properly for non-Eth frames (ipoib). I believe this is still the case. Extra care is needed for the ipoib flow, which I assume gets broken here. According to the perf gain, it is worth splitting to multiple code paths via branches/function pointers. Regards, Tariq