Re: [PATCH v2 net-next 14/14] mlx5: support BIG TCP packets
From: Eric Dumazet <edumazet@google.com>
Date: 2022-03-04 17:14:34
On Thu, Mar 3, 2022 at 8:43 PM David Ahern [off-list ref] wrote:
On 3/3/22 11:16 AM, Eric Dumazet wrote:quoted
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index b2ed2f6d4a9208aebfd17fd0c503cd1e37c39ee1..1e51ce1d74486392a26568852c5068fe9047296d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c@@ -4910,6 +4910,7 @@ static void mlx5e_build_nic_netdev(struct net_device *netdev) netdev->priv_flags |= IFF_UNICAST_FLT; + netif_set_tso_ipv6_max_size(netdev, 512 * 1024);How does the ConnectX hardware handle fairness for such large packet sizes? For 1500 MTU this means a single large TSO can cause the H/W to generate 349 MTU sized packets. Even a 4k MTU means 128 packets. This has an effect on the rate of packets hitting the next hop switch for example.
I think ConnectX cards interleave packets from all TX queues, at least old CX3 have a parameter to control that. Given that we already can send at line rate, from a single TX queue, I do not see why presenting larger TSO packets would change anything on the wire ? Do you think ConnectX adds an extra gap on the wire at the end of a TSO train ?