Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=419886927796dfeca87c1fd11d1fe2ed442103cc
Commit:     419886927796dfeca87c1fd11d1fe2ed442103cc
Parent:     9a6c686799346b6c95405c9e051f5023873504fa
Author:     Auke Kok <[EMAIL PROTECTED]>
AuthorDate: Tue Nov 13 20:48:36 2007 -0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Mon Jan 28 15:03:49 2008 -0800

    [E1000E]: update netstats traffic counters realtime
    
    formerly e1000/e1000e only updated traffic counters once every
    2 seconds with the register values of bytes/packets. With newer
    code however in the interrupt and polling code we can real-time
    fill in these values in the netstats struct for users to see.
    
    Signed-off-by: Auke Kok <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 drivers/net/e1000e/netdev.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 51476a3..9b07a72 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -458,6 +458,8 @@ next_desc:
 
        adapter->total_rx_packets += total_rx_packets;
        adapter->total_rx_bytes += total_rx_bytes;
+       adapter->net_stats.rx_packets += total_rx_packets;
+       adapter->net_stats.rx_bytes += total_rx_bytes;
        return cleaned;
 }
 
@@ -593,6 +595,8 @@ static bool e1000_clean_tx_irq(struct e1000_adapter 
*adapter)
        }
        adapter->total_tx_bytes += total_tx_bytes;
        adapter->total_tx_packets += total_tx_packets;
+       adapter->net_stats.tx_packets += total_tx_packets;
+       adapter->net_stats.tx_bytes += total_tx_bytes;
        return cleaned;
 }
 
@@ -755,6 +759,8 @@ next_desc:
 
        adapter->total_rx_packets += total_rx_packets;
        adapter->total_rx_bytes += total_rx_bytes;
+       adapter->net_stats.rx_packets += total_rx_packets;
+       adapter->net_stats.rx_bytes += total_rx_bytes;
        return cleaned;
 }
 
@@ -2535,10 +2541,6 @@ void e1000e_update_stats(struct e1000_adapter *adapter)
        }
 
        /* Fill out the OS statistics structure */
-       adapter->net_stats.rx_packets = adapter->stats.gprc;
-       adapter->net_stats.tx_packets = adapter->stats.gptc;
-       adapter->net_stats.rx_bytes = adapter->stats.gorcl;
-       adapter->net_stats.tx_bytes = adapter->stats.gotcl;
        adapter->net_stats.multicast = adapter->stats.mprc;
        adapter->net_stats.collisions = adapter->stats.colc;
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to