net: ipv6: seg6_iptunnel: mitigate 2-realloc issue
authorJustin Iurman <justin.iurman@uliege.be>
Tue, 3 Dec 2024 12:49:44 +0000 (13:49 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 5 Dec 2024 10:15:56 +0000 (11:15 +0100)
commit40475b63761abb6f8fdef960d03228a08662c9c4
treec2a7c56e8c8664a4ba4cec79d8e95c4c53f2400b
parentdce525185bc92864e5a318040285ee070563fe34
net: ipv6: seg6_iptunnel: mitigate 2-realloc issue

This patch mitigates the two-reallocations issue with seg6_iptunnel by
providing the dst_entry (in the cache) to the first call to
skb_cow_head(). As a result, the very first iteration would still
trigger two reallocations (i.e., empty cache), while next iterations
would only trigger a single reallocation.

Performance tests before/after applying this patch, which clearly shows
the improvement:
- before: https://ibb.co/3Cg4sNH
- after: https://ibb.co/8rQ350r

Signed-off-by: Justin Iurman <justin.iurman@uliege.be>
Cc: David Lebrun <dlebrun@google.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/ipv6/seg6_iptunnel.c