[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20130711.121934.1561010582863754480.davem@davemloft.net>
Date: Thu, 11 Jul 2013 12:19:34 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: alexander.h.duyck@...el.com
Cc: netdev@...r.kernel.org, stephen@...workplumber.org,
pshelar@...ira.com, joseph.gasparakis@...el.com,
eric.dumazet@...il.com, jesse@...ira.com
Subject: Re: [PATCH net v2] gso: Update tunnel segmentation to support Tx
checksum offload
From: Alexander Duyck <alexander.h.duyck@...el.com>
Date: Wed, 10 Jul 2013 17:05:06 -0700
> This change makes it so that the GRE and VXLAN tunnels can make use of Tx
> checksum offload support provided by some drivers via the hw_enc_features.
> Without this fix enabling GSO means sacrificing Tx checksum offload and
> this actually leads to a performance regression as shown below:
>
> Utilization
> Send
> Throughput local GSO
> 10^6bits/s % S state
> 6276.51 8.39 enabled
> 7123.52 8.42 disabled
>
> To resolve this it was necessary to address two items. First
> netif_skb_features needed to be updated so that it would correctly handle
> the Trans Ether Bridging protocol without impacting the need to check for
> Q-in-Q tagging. To do this it was necessary to update harmonize_features
> so that it used skb_network_protocol instead of just using the outer
> protocol.
>
> Second it was necessary to update the GRE and UDP tunnel segmentation
> offloads so that they would reset the encapsulation bit and inner header
> offsets after the offload was complete.
>
> As a result of this change I have seen the following results on a interface
> with Tx checksum enabled for encapsulated frames:
>
> Utilization
> Send
> Throughput local GSO
> 10^6bits/s % S state
> 7123.52 8.42 disabled
> 8321.75 5.43 enabled
>
> v2: Instead of replacing refrence to skb->protocol with
> skb_network_protocol just replace the protocol reference in
> harmonize_features to allow for double VLAN tag checks.
>
> Signed-off-by: Alexander Duyck <alexander.h.duyck@...el.com>
Applied, thanks Alexander.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists