On Sat, Jun 20, 2015 at 11:55:03AM +0200, christophe leroy wrote: > Hello Herbert, > > In commit "[NET]: Added GSO toggle" > 37c3185a02d4b85fbe134bf5204535405dd2c957, > you force NETIF_F_HW_CSUM if GSO feature is selected. > By default, SW GSO is active as soon as a network board has NETIF_F_SG > feature. > This means that function sk_setup_caps() forces NETIF_F_HW_CSUM for any > board having NETIF_F_SG > > For boards having no HW checksum capability, this results in performance > loss due to data copy being done in skb_do_copy_data_nocache() with > copy_from_user() then checksum being done later with csum_partial() > instead of getting both done at the same time using > csum_and_copy_from_user() > > Is there a reason for forcing NETIF_F_HW_CSUM ?
Well GSO requires hardware checksum for all the protocols that it supports. I guess we should also check that the hardware can checksum both IPv4 and IPv6 before enabling it. However, the benefit of GSO should cancel out the cost of copying so I was hoping to just enable GSO unconditionally at some point. Thanks, -- Email: Herbert Xu <herb...@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html