Author: gnn
Date: Tue Aug  3 15:06:31 2010
New Revision: 210802
URL: http://svn.freebsd.org/changeset/base/210802

Log:
  MFC: 209512
  
  Make sure that all the exposed counters and variables are actually
  being updated.
  
  Pointed out by:       jfv

Modified:
  stable/8/sys/dev/e1000/if_igb.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/dev/e1000/if_igb.c
==============================================================================
--- stable/8/sys/dev/e1000/if_igb.c     Tue Aug  3 15:02:41 2010        
(r210801)
+++ stable/8/sys/dev/e1000/if_igb.c     Tue Aug  3 15:06:31 2010        
(r210802)
@@ -4814,6 +4814,18 @@ igb_update_stats_counters(struct adapter
        /* Tx Errors */
        ifp->if_oerrors = adapter->stats.ecol +
            adapter->stats.latecol + adapter->watchdog_events;
+
+       /* Driver specific counters */
+       adapter->device_control = E1000_READ_REG(&adapter->hw, E1000_CTRL);
+       adapter->rx_control = E1000_READ_REG(&adapter->hw, E1000_RCTL);
+       adapter->int_mask = E1000_READ_REG(&adapter->hw, E1000_IMS);
+       adapter->eint_mask = E1000_READ_REG(&adapter->hw, E1000_EIMS);
+       adapter->packet_buf_alloc_tx = ((E1000_READ_REG(&adapter->hw, E1000_PBA)
+                                       & 0xffff0000) >> 16);
+
+       adapter->packet_buf_alloc_rx = (E1000_READ_REG(&adapter->hw, E1000_PBA) 
+                                       & 0xffff);
+
 }
 
 
@@ -4971,6 +4983,11 @@ igb_add_hw_stats(struct adapter *adapter
        }
 
        for (int i = 0; i < adapter->num_queues; i++, rxr++) {
+               snprintf(namebuf, QUEUE_NAME_LEN, "queue%d", i);
+               queue_node = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, namebuf, 
+                                           CTLFLAG_RD, NULL, "Queue Name");
+               queue_list = SYSCTL_CHILDREN(queue_node);
+
                struct lro_ctrl *lro = &rxr->lro;
 
                snprintf(namebuf, QUEUE_NAME_LEN, "queue%d", i);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to