Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Jan 2003 23:08:27 +0000 (UTC)
From:      Paul Vixie <paul@vix.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/47773: "em" network device does not update packet counters smoothly
Message-ID:  <20030131230827.23D39125426@piquet.isc.org>

next in thread | raw e-mail | index | archive | help

>Number:         47773
>Category:       kern
>Synopsis:       "em" network device does not update packet counters smoothly
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan 31 15:10:16 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Paul Vixie
>Release:        FreeBSD 5.0-RELEASE i386
>Organization:
ISC
>Environment:
System: FreeBSD piquet.isc.org 5.0-RELEASE FreeBSD 5.0-RELEASE #0: Fri Jan 17 07:53:27 UTC 2003 root@piquet.isc.org:/usr/src/sys/i386/compile/ISC_FBSD_5_SMP i386


	
>Description:
	"em" network device packet counters only update every other second
>How-To-Repeat:

# netstat 1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
         0     0      49411          0     0      99551     0
      1113     0      47959       1159     0      90625     0
         0     0      43280          0     0      85302     0
       971     0      46905       1008     0      92500     0
         2     0      47095          2     0      92107     0
      1070     0      47132       1123     0      91538     0
         0     0      47209          0     0      89947     0
      1088     0      49646       1138     0      96308     0
^C

>Fix:

--- sys/dev/em/if_em.h.orig     Fri Jan 31 22:31:33 2003
+++ sys/dev/em/if_em.h  Fri Jan 31 22:33:58 2003
@@ -192,6 +192,13 @@
  */
 #define WAIT_FOR_AUTO_NEG_DEFAULT       1
 
+/*
+ * This parameter controls the time between calls to the local
+ * maintainance function, which among other things fetches counters
+ * from the device and updates the interface statistics.
+ *             measured in ticks
+ */
+#define        MAINT_TIMER_INTERVAL            (hz)
 
 /* Tunables -- End */
 
--- sys/dev/em/if_em.c.orig     Fri Jan 31 22:19:18 2003
+++ sys/dev/em/if_em.c  Fri Jan 31 22:33:58 2003
@@ -680,7 +680,7 @@
                        ifp->if_hwassist = 0;
        }
 
-       adapter->timer_handle = timeout(em_local_timer, adapter, 2*hz);
+       adapter->timer_handle = timeout(em_local_timer, adapter, MAINT_TIMER_INTERVAL);
        em_clear_hw_cntrs(&adapter->hw);
 #ifdef DEVICE_POLLING
        /*
@@ -719,7 +719,7 @@
                        em_check_for_link(&adapter->hw);
                        em_print_link_status(adapter);
                        adapter->timer_handle = timeout(em_local_timer,
-                               adapter, 2*hz);
+                               adapter, MAINT_TIMER_INTERVAL);
                }
        }
        if (ifp->if_flags & IFF_RUNNING) {
@@ -770,7 +770,7 @@
                        em_check_for_link(&adapter->hw);
                        em_print_link_status(adapter);
                        adapter->timer_handle = 
-                       timeout(em_local_timer, adapter, 2*hz); 
+                       timeout(em_local_timer, adapter, MAINT_TIMER_INTERVAL); 
                }
 
                if (ifp->if_flags & IFF_RUNNING) {
@@ -1160,7 +1160,8 @@
        if (em_display_debug_stats && ifp->if_flags & IFF_RUNNING) {
                em_print_hw_stats(adapter);
        }
-       adapter->timer_handle = timeout(em_local_timer, adapter, 2*hz);
+       adapter->timer_handle = timeout(em_local_timer, adapter,
+                                       MAINT_TIMER_INTERVAL);
 
        splx(s);
        return;

>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030131230827.23D39125426>