On 15/12/2025 13:57, David Marchand via dev wrote:
> If we can predict that the segmented traffic will have the same headers,
> it is possible to rely on HW segmentation.
> 
> TCP over IPv4 geneve (with checksum on tunnel) on a mlx5 nic:
> Before:  7.80 Gbits/sec, 100% cpu (SW segmentation)
> After:  10.8  Gbits/sec,  27% cpu (HW segmentation)
> 
> For this optimisation, no touching of original tso_segsz should be
> allowed, so revert the commit
> 844a7cfa6edd ("netdev-dpdk: Use guest TSO segmentation size hint.").
> 
> Yet, there might still be some non optimal cases where the L4 payload
> size would not be a multiple of tso_segsz.
> For this condition, "partially" segment: split the "last" segment and keep
> n-1 segments data in the original packet which will be segmented by HW.
> 
> Reported-at: https://issues.redhat.com/browse/FDP-1897
> Signed-off-by: David Marchand <[email protected]>
> ---
> Changes since v2:
> - added some description on dp_packet_gso_partial_nr_segs(),
> - added some documentation on coverage counters,
> 
> ---
>  Documentation/topics/userspace-tso.rst | 26 +++++++++
>  lib/dp-packet-gso.c                    | 75 ++++++++++++++++++++++----
>  lib/dp-packet-gso.h                    |  2 +
>  lib/netdev-dpdk.c                      |  7 ---
>  lib/netdev.c                           | 34 ++++++++----
>  lib/packets.c                          | 34 ++++++++++++
>  6 files changed, 150 insertions(+), 28 deletions(-)
> 

LGTM
Acked-by: Kevin Traynor <[email protected]>

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to