[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6eed8aad-1520-5789-264e-b952b6ff4502@molgen.mpg.de>
Date: Mon, 6 Feb 2023 17:53:00 +0100
From: Paul Menzel <pmenzel@...gen.mpg.de>
To: Pawel Chmielewski <pawel.chmielewski@...el.com>
Cc: netdev@...r.kernel.org, intel-wired-lan@...osl.org
Subject: Re: [Intel-wired-lan] [PATCH 1/1] ice: add support BIG TCP on IPv6
Dear Pawel,
Thank you for your patch.
Am 06.02.23 um 16:59 schrieb Pawel Chmielewski:
> This change enables sending BIG TCP packets on IPv6 in the ice driver using
> generic ipv6_hopopt_jumbo_remove helper for stripping HBH header.
>
> Tested:
> netperf -t TCP_RR -H 2001:db8:0:f101::1 -- -r80000,80000 -O MIN_LATENCY,P90_LATENCY,P99_LATENCY,THROUGHPUT
>
> Results varied from one setup to another, but in every case we got lower
> latencies and increased transactions rate.
Please give some concrete examples nevertheless.
Kind regards,
Paul
> Signed-off-by: Pawel Chmielewski <pawel.chmielewski@...el.com>
> ---
> drivers/net/ethernet/intel/ice/ice.h | 2 ++
> drivers/net/ethernet/intel/ice/ice_main.c | 2 ++
> drivers/net/ethernet/intel/ice/ice_txrx.c | 3 +++
> 3 files changed, 7 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice.h b/drivers/net/ethernet/intel/ice/ice.h
> index 3d26ff4122e0..c774fdd482cd 100644
> --- a/drivers/net/ethernet/intel/ice/ice.h
> +++ b/drivers/net/ethernet/intel/ice/ice.h
> @@ -122,6 +122,8 @@
>
> #define ICE_MAX_MTU (ICE_AQ_SET_MAC_FRAME_SIZE_MAX - ICE_ETH_PKT_HDR_PAD)
>
> +#define ICE_MAX_TSO_SIZE 131072
> +
> #define ICE_UP_TABLE_TRANSLATE(val, i) \
> (((val) << ICE_AQ_VSI_UP_TABLE_UP##i##_S) & \
> ICE_AQ_VSI_UP_TABLE_UP##i##_M)
> diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
> index 22b8ad058286..8c74a48ad0d3 100644
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -3421,6 +3421,8 @@ static void ice_set_netdev_features(struct net_device *netdev)
> * be changed at runtime
> */
> netdev->hw_features |= NETIF_F_RXFCS;
> +
> + netif_set_tso_max_size(netdev, ICE_MAX_TSO_SIZE);
> }
>
> /**
> diff --git a/drivers/net/ethernet/intel/ice/ice_txrx.c b/drivers/net/ethernet/intel/ice/ice_txrx.c
> index ccf09c957a1c..bef927afb766 100644
> --- a/drivers/net/ethernet/intel/ice/ice_txrx.c
> +++ b/drivers/net/ethernet/intel/ice/ice_txrx.c
> @@ -2297,6 +2297,9 @@ ice_xmit_frame_ring(struct sk_buff *skb, struct ice_tx_ring *tx_ring)
>
> ice_trace(xmit_frame_ring, tx_ring, skb);
>
> + if (unlikely(ipv6_hopopt_jumbo_remove(skb)))
> + goto out_drop;
> +
> count = ice_xmit_desc_count(skb);
> if (ice_chk_linearize(skb, count)) {
> if (__skb_linearize(skb))
Powered by blists - more mailing lists