Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/pci/ixgbe - Add link related softint's counter.
details: https://anonhg.NetBSD.org/src/rev/5bbfe515e693
branches: trunk
changeset: 360710:5bbfe515e693
user: msaitoh <msaitoh%NetBSD.org@localhost>
date: Mon Mar 26 06:40:28 2018 +0000
description:
- Add link related softint's counter.
- Fix indent.
diffstat:
sys/dev/pci/ixgbe/ixgbe.c | 25 ++++++++++++++++++++++---
sys/dev/pci/ixgbe/ixgbe.h | 6 +++++-
2 files changed, 27 insertions(+), 4 deletions(-)
diffs (108 lines):
diff -r 6d17e8cc5d94 -r 5bbfe515e693 sys/dev/pci/ixgbe/ixgbe.c
--- a/sys/dev/pci/ixgbe/ixgbe.c Mon Mar 26 02:57:09 2018 +0000
+++ b/sys/dev/pci/ixgbe/ixgbe.c Mon Mar 26 06:40:28 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.136 2018/03/20 09:46:25 knakahara Exp $ */
+/* $NetBSD: ixgbe.c,v 1.137 2018/03/26 06:40:28 msaitoh Exp $ */
/******************************************************************************
@@ -173,7 +173,7 @@
static int ixgbe_media_change(struct ifnet *);
static int ixgbe_allocate_pci_resources(struct adapter *,
const struct pci_attach_args *);
-static void ixgbe_free_softint(struct adapter *);
+static void ixgbe_free_softint(struct adapter *);
static void ixgbe_get_slot_info(struct adapter *);
static int ixgbe_allocate_msix(struct adapter *,
const struct pci_attach_args *);
@@ -1707,6 +1707,14 @@
NULL, xname, "TSO errors");
evcnt_attach_dynamic(&adapter->link_irq, EVCNT_TYPE_INTR,
NULL, xname, "Link MSI-X IRQ Handled");
+ evcnt_attach_dynamic(&adapter->link_sicount, EVCNT_TYPE_INTR,
+ NULL, xname, "Link softint");
+ evcnt_attach_dynamic(&adapter->mod_sicount, EVCNT_TYPE_INTR,
+ NULL, xname, "module softint");
+ evcnt_attach_dynamic(&adapter->msf_sicount, EVCNT_TYPE_INTR,
+ NULL, xname, "multimode softint");
+ evcnt_attach_dynamic(&adapter->phy_sicount, EVCNT_TYPE_INTR,
+ NULL, xname, "external PHY softint");
for (int i = 0; i < adapter->num_queues; i++, rxr++, txr++) {
#ifdef LRO
@@ -1984,6 +1992,10 @@
adapter->tso_err.ev_count = 0;
adapter->watchdog_events.ev_count = 0;
adapter->link_irq.ev_count = 0;
+ adapter->link_sicount.ev_count = 0;
+ adapter->mod_sicount.ev_count = 0;
+ adapter->msf_sicount.ev_count = 0;
+ adapter->phy_sicount.ev_count = 0;
txr = adapter->tx_rings;
for (int i = 0; i < adapter->num_queues; i++, rxr++, txr++) {
@@ -3396,6 +3408,10 @@
evcnt_detach(&adapter->watchdog_events);
evcnt_detach(&adapter->tso_err);
evcnt_detach(&adapter->link_irq);
+ evcnt_detach(&adapter->link_sicount);
+ evcnt_detach(&adapter->mod_sicount);
+ evcnt_detach(&adapter->msf_sicount);
+ evcnt_detach(&adapter->phy_sicount);
txr = adapter->tx_rings;
for (int i = 0; i < adapter->num_queues; i++, rxr++, txr++) {
@@ -4336,6 +4352,7 @@
device_t dev = adapter->dev;
u32 err, cage_full = 0;
+ ++adapter->mod_sicount.ev_count;
if (adapter->hw.need_crosstalk_fix) {
switch (hw->mac.type) {
case ixgbe_mac_82599EB:
@@ -4383,6 +4400,7 @@
u32 autoneg;
bool negotiate;
+ ++adapter->msf_sicount.ev_count;
/* get_supported_phy_layer will call hw->phy.ops.identify_sfp() */
adapter->phy_layer = ixgbe_get_supported_physical_layer(hw);
@@ -4410,6 +4428,7 @@
struct ixgbe_hw *hw = &adapter->hw;
int error;
+ ++adapter->phy_sicount.ev_count;
error = hw->phy.ops.handle_lasi(hw);
if (error == IXGBE_ERR_OVERTEMP)
device_printf(adapter->dev,
@@ -6341,7 +6360,7 @@
struct ixgbe_hw *hw = &adapter->hw;
IXGBE_CORE_LOCK(adapter);
-
+ ++adapter->link_sicount.ev_count;
ixgbe_check_link(hw, &adapter->link_speed, &adapter->link_up, 0);
ixgbe_update_link_status(adapter);
diff -r 6d17e8cc5d94 -r 5bbfe515e693 sys/dev/pci/ixgbe/ixgbe.h
--- a/sys/dev/pci/ixgbe/ixgbe.h Mon Mar 26 02:57:09 2018 +0000
+++ b/sys/dev/pci/ixgbe/ixgbe.h Mon Mar 26 06:40:28 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.h,v 1.36 2018/03/15 06:48:51 msaitoh Exp $ */
+/* $NetBSD: ixgbe.h,v 1.37 2018/03/26 06:40:28 msaitoh Exp $ */
/******************************************************************************
SPDX-License-Identifier: BSD-3-Clause
@@ -576,6 +576,10 @@
struct evcnt tso_err;
struct evcnt watchdog_events;
struct evcnt link_irq;
+ struct evcnt link_sicount;
+ struct evcnt mod_sicount;
+ struct evcnt msf_sicount;
+ struct evcnt phy_sicount;
union {
struct ixgbe_hw_stats pf;
Home |
Main Index |
Thread Index |
Old Index