From: Saeed Mahameed <saeed@kernel.org>
To: Christoph Paasch <cpaasch@openai.com>
Cc: Tariq Toukan <ttoukan.linux@gmail.com>,
Gal Pressman <gal@nvidia.com>,
Dragos Tatulea <dtatulea@nvidia.com>,
Saeed Mahameed <saeedm@nvidia.com>,
Tariq Toukan <tariqt@nvidia.com>, Mark Bloch <mbloch@nvidia.com>,
Leon Romanovsky <leon@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Jesper Dangaard Brouer <hawk@kernel.org>,
John Fastabend <john.fastabend@gmail.com>,
Stanislav Fomichev <sdf@fomichev.me>,
netdev@vger.kernel.org, linux-rdma@vger.kernel.org,
bpf@vger.kernel.org
Subject: Re: [PATCH net-next v4 0/2] net/mlx5: Avoid payload in skb's linear part for better GRO-processing
Date: Tue, 2 Sep 2025 09:15:55 -0700 [thread overview]
Message-ID: <aLcYO4kWn1nMnEJp@x130> (raw)
In-Reply-To: <CADg4-L8+c+kHHzJhEaxKoNowbONqfMPVuqyOw7_DqhKFqzzLFw@mail.gmail.com>
On 02 Sep 08:51, Christoph Paasch wrote:
>Hello Tariq,
>
>On Sun, Aug 31, 2025 at 2:28 AM Tariq Toukan <ttoukan.linux@gmail.com> wrote:
>>
>>
>>
>> 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@openai.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.
>
>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.
next prev parent reply other threads:[~2025-09-02 16:15 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-29 3:36 [PATCH net-next v4 0/2] net/mlx5: Avoid payload in skb's linear part for better GRO-processing Christoph Paasch via B4 Relay
2025-08-29 3:36 ` [PATCH net-next v4 1/2] net/mlx5: DMA-sync earlier in mlx5e_skb_from_cqe_mpwrq_nonlinear Christoph Paasch via B4 Relay
2025-08-29 16:33 ` Eric Dumazet
2025-08-29 22:39 ` Saeed Mahameed
2025-08-29 3:36 ` [PATCH net-next v4 2/2] net/mlx5: Avoid copying payload to the skb's linear part Christoph Paasch via B4 Relay
2025-08-29 16:34 ` Eric Dumazet
2025-08-29 22:39 ` Saeed Mahameed
2025-09-03 23:38 ` Amery Hung
2025-09-03 23:57 ` Christoph Paasch
2025-09-04 0:11 ` Amery Hung
2025-09-04 3:58 ` Christoph Paasch
2025-08-29 22:43 ` [PATCH net-next v4 0/2] net/mlx5: Avoid payload in skb's linear part for better GRO-processing Saeed Mahameed
2025-08-31 9:28 ` Tariq Toukan
2025-09-02 15:51 ` Christoph Paasch
2025-09-02 16:15 ` Saeed Mahameed [this message]
2025-09-02 16:30 ` Christoph Paasch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aLcYO4kWn1nMnEJp@x130 \
--to=saeed@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=cpaasch@openai.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=dtatulea@nvidia.com \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=hawk@kernel.org \
--cc=john.fastabend@gmail.com \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=mbloch@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=sdf@fomichev.me \
--cc=tariqt@nvidia.com \
--cc=ttoukan.linux@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox