[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <962b227f-9673-4050-90b2-334850087487@kernel.org>
Date: Thu, 8 May 2025 16:16:41 +0200
From: Jesper Dangaard Brouer <hawk@...nel.org>
To: Willem de Bruijn <willemdebruijn.kernel@...il.com>,
Jon Kohler <jon@...anix.com>
Cc: Jason Wang <jasowang@...hat.com>, 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>,
John Fastabend <john.fastabend@...il.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"bpf@...r.kernel.org" <bpf@...r.kernel.org>
Subject: Re: [PATCH net-next] tun: use xdp_get_frame_len()
On 08/05/2025 15.29, Willem de Bruijn wrote:
> Jon Kohler wrote:
>>
>>
>>> On May 7, 2025, at 4:56 PM, Willem de Bruijn <willemdebruijn.kernel@...il.com> wrote:
>>>
>>>
>>> Jon Kohler wrote:
>>>> Use xdp_get_frame_len helper to ensure xdp frame size is calculated
>>>> correctly in both single buffer and multi buffer configurations.
>>>
>>> Not necessarily opposed, but multi buffer is not actually possible
>>> in this code path, right?
>>>
>>> tun_put_user_xdp only copies xdp_frame->data, for one.
>>>
>>> Else this would also be fix, not net-next material.
>>
>> Correct, this is a prep patch for future multi buffer support,
>> I’m not aware of any path that can currently do that thru
>> this code.
>>
This is a good example of a performance paper-cut, from my rant.
Adding xdp_get_frame_len() where it is not needed, adds extra code,
in-form of an if-statement and a potential touching of a colder
cache-line in skb_shared_info area.
>> The reason for pursuing multi-buffer is to allow vhost/net
>> batching to work again for large payloads.
>
> I was not aware of that context. I'd add a comment to that in the
> commit message, and send it as part of that series.
It need to part of that series, as that batching change should bring a
larger performance benefit that outweighs the paper-cut.
AFAICR there is also some dual packet handling code path for XDP in
vhost_net/tun. I'm also willing to take the paper-cut, for cleaning
that up.
--Jesper
Powered by blists - more mailing lists