diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2006-11-01 11:47:59 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-02 00:12:00 -0500 |
commit | fcfb1224250d7877b6a6c6a947986e08b2160fb6 (patch) | |
tree | b87742a5b484dcbba418b055337a7f14b2e272dc /drivers/net/e1000/e1000_main.c | |
parent | fc2307d00c15385fbdbb5928a8517e5f63c3d068 (diff) |
e1000: add queue restart counter
Add a netif_wake/start_queue counter to the ethtool statistics to indicated
to the user that their transmit ring could be too small for their workload.
Signed-off-by: Jesse brandeburg <jesse.brandeburg@intel.com>
Cc: Jamal Hadi <hadi@cyberus.ca>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 96e44a825443..705e654c368a 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -2974,6 +2974,7 @@ static int __e1000_maybe_stop_tx(struct net_device *netdev, int size) | |||
2974 | 2974 | ||
2975 | /* A reprieve! */ | 2975 | /* A reprieve! */ |
2976 | netif_start_queue(netdev); | 2976 | netif_start_queue(netdev); |
2977 | ++adapter->restart_queue; | ||
2977 | return 0; | 2978 | return 0; |
2978 | } | 2979 | } |
2979 | 2980 | ||
@@ -3654,8 +3655,10 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter, | |||
3654 | * sees the new next_to_clean. | 3655 | * sees the new next_to_clean. |
3655 | */ | 3656 | */ |
3656 | smp_mb(); | 3657 | smp_mb(); |
3657 | if (netif_queue_stopped(netdev)) | 3658 | if (netif_queue_stopped(netdev)) { |
3658 | netif_wake_queue(netdev); | 3659 | netif_wake_queue(netdev); |
3660 | ++adapter->restart_queue; | ||
3661 | } | ||
3659 | } | 3662 | } |
3660 | 3663 | ||
3661 | if (adapter->detect_tx_hung) { | 3664 | if (adapter->detect_tx_hung) { |