[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADg4-L-irVisgCA46sXkaoqH+XKZX+b0nEmcp8HMFr30XV32Kg@mail.gmail.com>
Date: Tue, 2 Sep 2025 09:30:45 -0700
From: Christoph Paasch <cpaasch@...nai.com>
To: Saeed Mahameed <saeed@...nel.org>
Cc: Tariq Toukan <ttoukan.linux@...il.com>, 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 Tue, Sep 2, 2025 at 9:15 AM Saeed Mahameed <saeed@...nel.org> wrote:
>
> On 02 Sep 08:51, Christoph Paasch wrote:
> >Hello Tariq,
> >
> >On Sun, Aug 31, 2025 at 2:28 AM Tariq Toukan <ttoukan.linux@...il.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@...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.
> >
> >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.
Sounds good! Thanks, Saeed!
Christoph
Powered by blists - more mailing lists