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 86492c8957ec853e420eeb464952249af413b6f4..d27dcd1289c82c03cfdbc8d8a990d7d2f02c7982 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 f71276fec3ffa4103af502502be75aebf2c8ba08..2929546115c11220a039a06ddbead37356139bb1 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 c15eb4c3916924275a57f421d792779f6faf3189..e1d1c0c984b09b24a8befa38013df2ee22aa1776 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,