igb: remove rx checksum good counter
authorAlexander Duyck <alexander.h.duyck@intel.com>
Tue, 27 Oct 2009 15:49:49 +0000 (15:49 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Oct 2009 08:20:17 +0000 (01:20 -0700)
Counting packets with a good checksum can cause a significant amount of cache
line bouncing due to the shared counter being written to by all of the queues.
In order to avoid this I am removing the counter since we still have the
checksum failed counter which will tell us if there are any issues.

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

index 86492c8..d27dcd1 100644 (file)
@@ -254,7 +254,6 @@ struct igb_adapter {
        int num_rx_queues;
 
        u64 hw_csum_err;
-       u64 hw_csum_good;
        u32 alloc_rx_buff_failed;
        u32 gorc;
        u64 gorc_old;
index f71276f..2929546 100644 (file)
@@ -95,7 +95,6 @@ static const struct igb_stats igb_gstrings_stats[] = {
        { "tx_flow_control_xon", IGB_STAT(stats.xontxc) },
        { "tx_flow_control_xoff", IGB_STAT(stats.xofftxc) },
        { "rx_long_byte_count", IGB_STAT(stats.gorc) },
-       { "rx_csum_offload_good", IGB_STAT(hw_csum_good) },
        { "rx_csum_offload_errors", IGB_STAT(hw_csum_err) },
        { "tx_dma_out_of_sync", IGB_STAT(stats.doosync) },
        { "alloc_rx_buff_failed", IGB_STAT(alloc_rx_buff_failed) },
index c15eb4c..e1d1c0c 100644 (file)
@@ -4827,7 +4827,6 @@ static inline void igb_rx_checksum_adv(struct igb_adapter *adapter,
                skb->ip_summed = CHECKSUM_UNNECESSARY;
 
        dev_dbg(&adapter->pdev->dev, "cksum success: bits %08X\n", status_err);
-       adapter->hw_csum_good++;
 }
 
 static inline u16 igb_get_hlen(struct igb_adapter *adapter,