Thread (9 messages) 9 messages, 4 authors, 2025-09-18

Re: [PATCH net-next 0/3] net: tunnel: introduce noref xmit flows for tunnels

From: Marek Mietus <hidden>
Date: 2025-09-18 16:41:18

W dniu 9/16/25 o 12:43, Sabrina Dubroca pisze:
2025-09-09, 16:43:01 +0200, Marek Mietus wrote:
quoted
W dniu 9/9/25 o 13:17, Antonio Quartulli pisze:
quoted
On 09/09/2025 07:43, Marek Mietus wrote:
quoted
Currently, all xmit flows use dst_cache in a way that references
its dst_entry for each xmitted packet. These atomic operations
are redundant in some flows.
Can you elaborate on the current limits/drawbacks and explain what we gain with this new approach?

It may be obvious for some, but it's not for me.
The only difference with the new approach is that we avoid taking an unnecessary
reference on dst_entry. This is possible since the entire flow is protected by RCU.
This change reduces an atomic write operation on every xmit, resulting in a performance
improvement.
It would be nice to incorporate this information into the cover
letter, and to provide numbers showing the performance
improvement. That way, it's available to other reviewers and gets
recorded in the git log. Are you doing crypto with some accelerator?
Otherwise I'd imagine skipping a few atomic operations is not really
noticeable.
quoted
There are other flows in the kernel where a similar approach is used (e.g. __ip_queue_xmit
uses skb_dst_set_noref).
quoted
Also it sounded as if more tunnels were affected, but in the end only ovpn is being changed.
Does it mean all other tunnels don't need this?
More tunneling code can be updated to utilize these new helpers. I only worked
on OpenVPN, as I am more familiar with it. It was very easy to implement the
changes in OpenVPN because it doesn't use the udp_tunnel_dst_lookup helper
that adds some complexity.

I hope to incorporate these changes in more tunnels in the future.
It would also be good to add this to the cover letter. Something like
"For now, only ovpn is updated <for $reason>, but other tunnels could
also take advantage of this."
Noted, will add in the next revision.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help