Module Name:    src
Committed By:   msaitoh
Date:           Wed Sep 13 07:28:51 UTC 2023

Modified Files:
        src/sys/dev/pci/ixgbe: ixgbe.c ixgbe.h ixv.c

Log Message:
ixgbe: Reorder some event counters for readability.


To generate a diff of this commit:
cvs rdiff -u -r1.326 -r1.327 src/sys/dev/pci/ixgbe/ixgbe.c
cvs rdiff -u -r1.86 -r1.87 src/sys/dev/pci/ixgbe/ixgbe.h
cvs rdiff -u -r1.183 -r1.184 src/sys/dev/pci/ixgbe/ixv.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/ixgbe/ixgbe.c
diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.326 src/sys/dev/pci/ixgbe/ixgbe.c:1.327
--- src/sys/dev/pci/ixgbe/ixgbe.c:1.326	Mon May 15 08:01:22 2023
+++ src/sys/dev/pci/ixgbe/ixgbe.c	Wed Sep 13 07:28:51 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.326 2023/05/15 08:01:22 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.327 2023/09/13 07:28:51 msaitoh Exp $ */
 
 /******************************************************************************
 
@@ -64,7 +64,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ixgbe.c,v 1.326 2023/05/15 08:01:22 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ixgbe.c,v 1.327 2023/09/13 07:28:51 msaitoh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -1870,7 +1870,7 @@ ixgbe_add_hw_stats(struct adapter *adapt
 	for (i = 0; i < adapter->num_queues; i++, rxr++, txr++) {
 #ifdef LRO
 		struct lro_ctrl *lro = &rxr->lro;
-#endif /* LRO */
+#endif
 
 		snprintf(adapter->queues[i].evnamebuf,
 		    sizeof(adapter->queues[i].evnamebuf), "%s q%d", xname, i);
@@ -1910,27 +1910,6 @@ ixgbe_add_hw_stats(struct adapter *adapt
 		    0, CTL_CREATE, CTL_EOL) != 0)
 			break;
 
-		evcnt_attach_dynamic(&adapter->queues[i].irqs, EVCNT_TYPE_INTR,
-		    NULL, adapter->queues[i].evnamebuf, "IRQs on queue");
-		evcnt_attach_dynamic(&adapter->queues[i].handleq,
-		    EVCNT_TYPE_MISC, NULL, adapter->queues[i].evnamebuf,
-		    "Handled queue in softint");
-		evcnt_attach_dynamic(&adapter->queues[i].req, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf, "Requeued in softint");
-		evcnt_attach_dynamic(&txr->tso_tx, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf, "TSO");
-		evcnt_attach_dynamic(&txr->no_desc_avail, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf,
-		    "TX Queue No Descriptor Available");
-		evcnt_attach_dynamic(&txr->total_packets, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf,
-		    "Queue Packets Transmitted");
-#ifndef IXGBE_LEGACY_TX
-		evcnt_attach_dynamic(&txr->pcq_drops, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf,
-		    "Packets dropped in pcq");
-#endif
-
 		if (sysctl_createv(log, 0, &rnode, &cnode,
 		    CTLFLAG_READONLY, CTLTYPE_INT, "rxd_nxck",
 		    SYSCTL_DESCR("Receive Descriptor next to check"),
@@ -1959,33 +1938,62 @@ ixgbe_add_hw_stats(struct adapter *adapt
 		    CTL_CREATE, CTL_EOL) != 0)
 			break;
 
-		if (i < __arraycount(stats->qprc)) {
-			evcnt_attach_dynamic(&stats->qprc[i], EVCNT_TYPE_MISC,
-			    NULL, adapter->queues[i].evnamebuf, "qprc");
-			evcnt_attach_dynamic(&stats->qptc[i], EVCNT_TYPE_MISC,
-			    NULL, adapter->queues[i].evnamebuf, "qptc");
-			evcnt_attach_dynamic(&stats->qbrc[i], EVCNT_TYPE_MISC,
-			    NULL, adapter->queues[i].evnamebuf, "qbrc");
+		evcnt_attach_dynamic(&adapter->queues[i].irqs, EVCNT_TYPE_INTR,
+		    NULL, adapter->queues[i].evnamebuf, "IRQs on queue");
+		evcnt_attach_dynamic(&adapter->queues[i].handleq,
+		    EVCNT_TYPE_MISC, NULL, adapter->queues[i].evnamebuf,
+		    "Handled queue in softint");
+		evcnt_attach_dynamic(&adapter->queues[i].req, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf, "Requeued in softint");
+		if (i < __arraycount(stats->qbtc))
 			evcnt_attach_dynamic(&stats->qbtc[i], EVCNT_TYPE_MISC,
-			    NULL, adapter->queues[i].evnamebuf, "qbtc");
-			if (hw->mac.type >= ixgbe_mac_82599EB)
-				evcnt_attach_dynamic(&stats->qprdc[i],
-				    EVCNT_TYPE_MISC, NULL,
-				    adapter->queues[i].evnamebuf, "qprdc");
-		}
-
-		evcnt_attach_dynamic(&rxr->rx_packets, EVCNT_TYPE_MISC,
+			    NULL, adapter->queues[i].evnamebuf,
+			    "qbtc");
+		evcnt_attach_dynamic(&txr->total_packets, EVCNT_TYPE_MISC,
 		    NULL, adapter->queues[i].evnamebuf,
-		    "Queue Packets Received");
+		    "Queue Packets Transmitted");
+		if (i < __arraycount(stats->qptc))
+			evcnt_attach_dynamic(&stats->qptc[i], EVCNT_TYPE_MISC,
+			    NULL, adapter->queues[i].evnamebuf,
+			    "qptc");
+#ifndef IXGBE_LEGACY_TX
+		evcnt_attach_dynamic(&txr->pcq_drops, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf,
+		    "Packets dropped in pcq");
+#endif
+		evcnt_attach_dynamic(&txr->no_desc_avail, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf,
+		    "TX Queue No Descriptor Available");
+		evcnt_attach_dynamic(&txr->tso_tx, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf, "TSO");
+
 		evcnt_attach_dynamic(&rxr->rx_bytes, EVCNT_TYPE_MISC,
 		    NULL, adapter->queues[i].evnamebuf,
 		    "Queue Bytes Received");
-		evcnt_attach_dynamic(&rxr->rx_copies, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf, "Copied RX Frames");
+		if (i < __arraycount(stats->qbrc))
+			evcnt_attach_dynamic(&stats->qbrc[i], EVCNT_TYPE_MISC,
+			    NULL, adapter->queues[i].evnamebuf,
+			    "qbrc");
+		evcnt_attach_dynamic(&rxr->rx_packets, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf,
+		    "Queue Packets Received");
+		if (i < __arraycount(stats->qprc))
+			evcnt_attach_dynamic(&stats->qprc[i], EVCNT_TYPE_MISC,
+			    NULL, adapter->queues[i].evnamebuf,
+			    "qprc");
+		if ((i < __arraycount(stats->qprdc)) &&
+		    (hw->mac.type >= ixgbe_mac_82599EB))
+				evcnt_attach_dynamic(&stats->qprdc[i],
+				    EVCNT_TYPE_MISC, NULL,
+				    adapter->queues[i].evnamebuf,
+				    "qprdc");
+
 		evcnt_attach_dynamic(&rxr->no_mbuf, EVCNT_TYPE_MISC,
 		    NULL, adapter->queues[i].evnamebuf, "Rx no mbuf");
 		evcnt_attach_dynamic(&rxr->rx_discarded, EVCNT_TYPE_MISC,
 		    NULL, adapter->queues[i].evnamebuf, "Rx discarded");
+		evcnt_attach_dynamic(&rxr->rx_copies, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf, "Copied RX Frames");
 #ifdef LRO
 		SYSCTL_ADD_INT(ctx, queue_list, OID_AUTO, "lro_queued",
 				CTLFLAG_RD, &lro->lro_queued, 0,
@@ -2157,12 +2165,12 @@ ixgbe_clear_evcnt(struct adapter *adapte
 		IXGBE_EVC_STORE(&adapter->queues[i].irqs, 0);
 		IXGBE_EVC_STORE(&adapter->queues[i].handleq, 0);
 		IXGBE_EVC_STORE(&adapter->queues[i].req, 0);
-		IXGBE_EVC_STORE(&txr->no_desc_avail, 0);
 		IXGBE_EVC_STORE(&txr->total_packets, 0);
-		IXGBE_EVC_STORE(&txr->tso_tx, 0);
 #ifndef IXGBE_LEGACY_TX
 		IXGBE_EVC_STORE(&txr->pcq_drops, 0);
 #endif
+		IXGBE_EVC_STORE(&txr->no_desc_avail, 0);
+		IXGBE_EVC_STORE(&txr->tso_tx, 0);
 		txr->q_efbig_tx_dma_setup = 0;
 		txr->q_mbuf_defrag_failed = 0;
 		txr->q_efbig2_tx_dma_setup = 0;
@@ -3772,12 +3780,12 @@ ixgbe_detach(device_t dev, int flags)
 		evcnt_detach(&adapter->queues[i].irqs);
 		evcnt_detach(&adapter->queues[i].handleq);
 		evcnt_detach(&adapter->queues[i].req);
-		evcnt_detach(&txr->no_desc_avail);
 		evcnt_detach(&txr->total_packets);
-		evcnt_detach(&txr->tso_tx);
 #ifndef IXGBE_LEGACY_TX
 		evcnt_detach(&txr->pcq_drops);
 #endif
+		evcnt_detach(&txr->no_desc_avail);
+		evcnt_detach(&txr->tso_tx);
 
 		if (i < __arraycount(stats->qprc)) {
 			evcnt_detach(&stats->qprc[i]);

Index: src/sys/dev/pci/ixgbe/ixgbe.h
diff -u src/sys/dev/pci/ixgbe/ixgbe.h:1.86 src/sys/dev/pci/ixgbe/ixgbe.h:1.87
--- src/sys/dev/pci/ixgbe/ixgbe.h:1.86	Mon May 30 05:08:17 2022
+++ src/sys/dev/pci/ixgbe/ixgbe.h	Wed Sep 13 07:28:51 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.h,v 1.86 2022/05/30 05:08:17 msaitoh Exp $ */
+/* $NetBSD: ixgbe.h,v 1.87 2023/09/13 07:28:51 msaitoh Exp $ */
 
 /******************************************************************************
   SPDX-License-Identifier: BSD-3-Clause
@@ -390,10 +390,10 @@ struct tx_ring {
 	u64			bytes;  /* Used for AIM */
 	u64			packets;
 	/* Soft Stats */
-	struct evcnt		tso_tx;
-	struct evcnt		no_desc_avail;
 	struct evcnt		total_packets;
 	struct evcnt		pcq_drops;
+	struct evcnt		no_desc_avail;
+	struct evcnt		tso_tx;
 	/* Per queue conters.  The adapter total is in struct adapter */
 	u64              q_efbig_tx_dma_setup;
 	u64              q_mbuf_defrag_failed;

Index: src/sys/dev/pci/ixgbe/ixv.c
diff -u src/sys/dev/pci/ixgbe/ixv.c:1.183 src/sys/dev/pci/ixgbe/ixv.c:1.184
--- src/sys/dev/pci/ixgbe/ixv.c:1.183	Wed Jul  6 06:31:47 2022
+++ src/sys/dev/pci/ixgbe/ixv.c	Wed Sep 13 07:28:51 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: ixv.c,v 1.183 2022/07/06 06:31:47 msaitoh Exp $ */
+/* $NetBSD: ixv.c,v 1.184 2023/09/13 07:28:51 msaitoh Exp $ */
 
 /******************************************************************************
 
@@ -35,7 +35,7 @@
 /*$FreeBSD: head/sys/dev/ixgbe/if_ixv.c 331224 2018-03-19 20:55:05Z erj $*/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ixv.c,v 1.183 2022/07/06 06:31:47 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ixv.c,v 1.184 2023/09/13 07:28:51 msaitoh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -648,12 +648,12 @@ ixv_detach(device_t dev, int flags)
 		evcnt_detach(&adapter->queues[i].irqs);
 		evcnt_detach(&adapter->queues[i].handleq);
 		evcnt_detach(&adapter->queues[i].req);
-		evcnt_detach(&txr->no_desc_avail);
 		evcnt_detach(&txr->total_packets);
-		evcnt_detach(&txr->tso_tx);
 #ifndef IXGBE_LEGACY_TX
 		evcnt_detach(&txr->pcq_drops);
 #endif
+		evcnt_detach(&txr->no_desc_avail);
+		evcnt_detach(&txr->tso_tx);
 
 		evcnt_detach(&rxr->rx_packets);
 		evcnt_detach(&rxr->rx_bytes);
@@ -2644,6 +2644,10 @@ ixv_add_stats_sysctls(struct adapter *ad
 	    NULL, xname, "Admin event");
 
 	for (int i = 0; i < adapter->num_queues; i++, rxr++, txr++) {
+#ifdef LRO
+		struct lro_ctrl *lro = &rxr->lro;
+#endif
+
 		snprintf(adapter->queues[i].evnamebuf,
 		    sizeof(adapter->queues[i].evnamebuf), "%s q%d", xname, i);
 		snprintf(adapter->queues[i].namebuf,
@@ -2682,31 +2686,6 @@ ixv_add_stats_sysctls(struct adapter *ad
 		    0, CTL_CREATE, CTL_EOL) != 0)
 			break;
 
-		evcnt_attach_dynamic(&adapter->queues[i].irqs, EVCNT_TYPE_INTR,
-		    NULL, adapter->queues[i].evnamebuf, "IRQs on queue");
-		evcnt_attach_dynamic(&adapter->queues[i].handleq,
-		    EVCNT_TYPE_MISC, NULL, adapter->queues[i].evnamebuf,
-		    "Handled queue in softint");
-		evcnt_attach_dynamic(&adapter->queues[i].req, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf, "Requeued in softint");
-		evcnt_attach_dynamic(&txr->tso_tx, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf, "TSO");
-		evcnt_attach_dynamic(&txr->no_desc_avail, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf,
-		    "TX Queue No Descriptor Available");
-		evcnt_attach_dynamic(&txr->total_packets, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf,
-		    "Queue Packets Transmitted");
-#ifndef IXGBE_LEGACY_TX
-		evcnt_attach_dynamic(&txr->pcq_drops, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf,
-		    "Packets dropped in pcq");
-#endif
-
-#ifdef LRO
-		struct lro_ctrl *lro = &rxr->lro;
-#endif /* LRO */
-
 		if (sysctl_createv(log, 0, &rnode, &cnode,
 		    CTLFLAG_READONLY, CTLTYPE_INT, "rxd_nxck",
 		    SYSCTL_DESCR("Receive Descriptor next to check"),
@@ -2735,18 +2714,39 @@ ixv_add_stats_sysctls(struct adapter *ad
 		    CTL_CREATE, CTL_EOL) != 0)
 			break;
 
-		evcnt_attach_dynamic(&rxr->rx_packets, EVCNT_TYPE_MISC,
+		evcnt_attach_dynamic(&adapter->queues[i].irqs, EVCNT_TYPE_INTR,
+		    NULL, adapter->queues[i].evnamebuf, "IRQs on queue");
+		evcnt_attach_dynamic(&adapter->queues[i].handleq,
+		    EVCNT_TYPE_MISC, NULL, adapter->queues[i].evnamebuf,
+		    "Handled queue in softint");
+		evcnt_attach_dynamic(&adapter->queues[i].req, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf, "Requeued in softint");
+		evcnt_attach_dynamic(&txr->total_packets, EVCNT_TYPE_MISC,
 		    NULL, adapter->queues[i].evnamebuf,
-		    "Queue Packets Received");
+		    "Queue Packets Transmitted");
+#ifndef IXGBE_LEGACY_TX
+		evcnt_attach_dynamic(&txr->pcq_drops, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf,
+		    "Packets dropped in pcq");
+#endif
+		evcnt_attach_dynamic(&txr->no_desc_avail, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf,
+		    "TX Queue No Descriptor Available");
+		evcnt_attach_dynamic(&txr->tso_tx, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf, "TSO");
+
 		evcnt_attach_dynamic(&rxr->rx_bytes, EVCNT_TYPE_MISC,
 		    NULL, adapter->queues[i].evnamebuf,
 		    "Queue Bytes Received");
-		evcnt_attach_dynamic(&rxr->rx_copies, EVCNT_TYPE_MISC,
-		    NULL, adapter->queues[i].evnamebuf, "Copied RX Frames");
+		evcnt_attach_dynamic(&rxr->rx_packets, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf,
+		    "Queue Packets Received");
 		evcnt_attach_dynamic(&rxr->no_mbuf, EVCNT_TYPE_MISC,
 		    NULL, adapter->queues[i].evnamebuf, "Rx no mbuf");
 		evcnt_attach_dynamic(&rxr->rx_discarded, EVCNT_TYPE_MISC,
 		    NULL, adapter->queues[i].evnamebuf, "Rx discarded");
+		evcnt_attach_dynamic(&rxr->rx_copies, EVCNT_TYPE_MISC,
+		    NULL, adapter->queues[i].evnamebuf, "Copied RX Frames");
 #ifdef LRO
 		SYSCTL_ADD_INT(ctx, queue_list, OID_AUTO, "lro_queued",
 				CTLFLAG_RD, &lro->lro_queued, 0,
@@ -2823,12 +2823,12 @@ ixv_clear_evcnt(struct adapter *adapter)
 		IXGBE_EVC_STORE(&adapter->queues[i].irqs, 0);
 		IXGBE_EVC_STORE(&adapter->queues[i].handleq, 0);
 		IXGBE_EVC_STORE(&adapter->queues[i].req, 0);
-		IXGBE_EVC_STORE(&txr->tso_tx, 0);
-		IXGBE_EVC_STORE(&txr->no_desc_avail, 0);
 		IXGBE_EVC_STORE(&txr->total_packets, 0);
 #ifndef IXGBE_LEGACY_TX
 		IXGBE_EVC_STORE(&txr->pcq_drops, 0);
 #endif
+		IXGBE_EVC_STORE(&txr->no_desc_avail, 0);
+		IXGBE_EVC_STORE(&txr->tso_tx, 0);
 		txr->q_efbig_tx_dma_setup = 0;
 		txr->q_mbuf_defrag_failed = 0;
 		txr->q_efbig2_tx_dma_setup = 0;

Reply via email to