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;