Thread (16 messages) flat view 16 messages, 6 authors, 2025-09-04

Re: [PATCH net-next v4 0/2] net/mlx5: Avoid payload in skb's linear part for better GRO-processing

From: Saeed Mahameed <saeed@kernel.org>
Date: 2025-09-02 16:15:57
Also in: bpf, linux-rdma

On 02 Sep 08:51, Christoph Paasch wrote:
Hello Tariq,

On Sun, Aug 31, 2025 at 2:28 AM Tariq Toukan [off-list ref] wrote:
quoted


On 30/08/2025 1:43, Saeed Mahameed wrote:
quoted
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.
Are you actually sure that ipoib goes through
mlx5e_skb_from_cqe_mpwrq_nonlinear() ? Because, as far as I can see,
IPoIB disables striding in mlx5i_build_nic_params().

It's rather mlx5e_skb_from_cqe_nonlinear() that handles both, ethernet
and ipoib.
correct,

const struct mlx5e_rx_handlers mlx5i_rx_handlers = {
	.handle_rx_cqe       = mlx5i_handle_rx_cqe,
	.handle_rx_cqe_mpwqe = NULL, /* Not supported */
};

I see that the patches are "awaiting-upstream" so I applied it to our internal
queue, will let you know if we find any issues, otherwise, will repost as
part of our upcoming submissions.

Thanks,
Saeed.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help