[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e0786dbc-4681-4bee-a54a-e58c1b9b7557@gmail.com>
Date: Sun, 31 Aug 2025 12:28:05 +0300
From: Tariq Toukan <ttoukan.linux@...il.com>
To: Saeed Mahameed <saeed@...nel.org>, cpaasch@...nai.com
Cc: Gal Pressman <gal@...dia.com>, Dragos Tatulea <dtatulea@...dia.com>,
Saeed Mahameed <saeedm@...dia.com>, Tariq Toukan <tariqt@...dia.com>,
Mark Bloch <mbloch@...dia.com>, Leon Romanovsky <leon@...nel.org>,
Andrew Lunn <andrew+netdev@...n.ch>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>,
Jesper Dangaard Brouer <hawk@...nel.org>,
John Fastabend <john.fastabend@...il.com>,
Stanislav Fomichev <sdf@...ichev.me>, netdev@...r.kernel.org,
linux-rdma@...r.kernel.org, bpf@...r.kernel.org
Subject: Re: [PATCH net-next v4 0/2] net/mlx5: Avoid payload in skb's linear
part for better GRO-processing
On 30/08/2025 1:43, Saeed Mahameed wrote:
> On 28 Aug 20:36, Christoph Paasch via B4 Relay wrote:
>> 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 <cpaasch@...nai.com>
>
> 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
Powered by blists - more mailing lists