]> Pileus Git - ~andy/linux/commitdiff
igb: Make TSO check for CHECKSUM_PARTIAL to avoid skb_is_gso check
authorAlexander Duyck <alexander.h.duyck@intel.com>
Tue, 13 Nov 2012 04:03:22 +0000 (04:03 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Nov 2012 19:18:14 +0000 (14:18 -0500)
This change is meant to reduce the overhead for workloads that are not
using either TSO or checksum offloads.  Most of the time the compiler
should jump ahead after failing this check to the VLAN check since in the
igb_tx_csum call we start with that check as well.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/igb/igb_main.c

index da9fd7b8e23a1c7e816d8193ec9f1224526640bf..b0730e9c776647c6422a83cf2fe9825944d0ac01 100644 (file)
@@ -3998,6 +3998,9 @@ static int igb_tso(struct igb_ring *tx_ring,
        u32 vlan_macip_lens, type_tucmd;
        u32 mss_l4len_idx, l4len;
 
+       if (skb->ip_summed != CHECKSUM_PARTIAL)
+               return 0;
+
        if (!skb_is_gso(skb))
                return 0;