Module Name: src Committed By: msaitoh Date: Tue Jan 18 10:06:59 UTC 2022
Modified Files: src/sys/dev/pci/ixgbe: ixv.c Log Message: Update ixv_print_debug_info() to print similar data to ixg(4). The old hw.ixvN.debug=1 printed evcnt(9) data. The same values are printed by vmstat -e, so it's not worth to print. Remove all of the old output and make it similar to ixgbe_print_debug_info(). To generate a diff of this commit: cvs rdiff -u -r1.174 -r1.175 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/ixv.c diff -u src/sys/dev/pci/ixgbe/ixv.c:1.174 src/sys/dev/pci/ixgbe/ixv.c:1.175 --- src/sys/dev/pci/ixgbe/ixv.c:1.174 Tue Jan 18 09:58:40 2022 +++ src/sys/dev/pci/ixgbe/ixv.c Tue Jan 18 10:06:59 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: ixv.c,v 1.174 2022/01/18 09:58:40 msaitoh Exp $ */ +/* $NetBSD: ixv.c,v 1.175 2022/01/18 10:06:59 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.174 2022/01/18 09:58:40 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ixv.c,v 1.175 2022/01/18 10:06:59 msaitoh Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -2899,6 +2899,20 @@ ixv_set_sysctl_value(struct adapter *ada *limit = value; } /* ixv_set_sysctl_value */ +#define PRINTQS(adapter, regname) \ + do { \ + struct ixgbe_hw *_hw = &(adapter)->hw; \ + int _i; \ + \ + printf("%s: %s", device_xname((adapter)->dev), #regname); \ + for (_i = 0; _i < (adapter)->num_queues; _i++) { \ + printf((_i == 0) ? "\t" : " "); \ + printf("%08x", IXGBE_READ_REG(_hw, \ + IXGBE_##regname(_i))); \ + } \ + printf("\n"); \ + } while (0) + /************************************************************************ * ixv_print_debug_info * @@ -2909,41 +2923,26 @@ static void ixv_print_debug_info(struct adapter *adapter) { device_t dev = adapter->dev; - struct ix_queue *que = adapter->queues; - struct rx_ring *rxr; - struct tx_ring *txr; -#ifdef LRO - struct lro_ctrl *lro; -#endif /* LRO */ + struct ixgbe_hw *hw = &adapter->hw; + int i; - for (int i = 0; i < adapter->num_queues; i++, que++) { - txr = que->txr; - rxr = que->rxr; -#ifdef LRO - lro = &rxr->lro; -#endif /* LRO */ - device_printf(dev, "QUE(%d) IRQs Handled: %lu\n", - que->msix, (long)que->irqs.ev_count); - device_printf(dev, "RX(%d) Packets Received: %lld\n", - rxr->me, (long long)rxr->rx_packets.ev_count); - device_printf(dev, "RX(%d) Bytes Received: %lu\n", - rxr->me, (long)rxr->rx_bytes.ev_count); -#ifdef LRO - device_printf(dev, "RX(%d) LRO Queued= %ju\n", - rxr->me, (uintmax_t)lro->lro_queued); - device_printf(dev, "RX(%d) LRO Flushed= %ju\n", - rxr->me, (uintmax_t)lro->lro_flushed); -#endif /* LRO */ - device_printf(dev, "TX(%d) Packets Sent: %lu\n", - txr->me, (long)txr->total_packets.ev_count); - device_printf(dev, "TX(%d) NO Desc Avail: %lu\n", - txr->me, (long)txr->no_desc_avail.ev_count); + device_printf(dev, "queue:"); + for (i = 0; i < adapter->num_queues; i++) { + printf((i == 0) ? "\t" : " "); + printf("%8d", i); } - - device_printf(dev, "Admin IRQ Handled: %lu\n", - (long)adapter->admin_irqev.ev_count); - device_printf(dev, "Admin work Handled: %lu\n", - (long)adapter->link_workev.ev_count); + printf("\n"); + PRINTQS(adapter, VFRDBAL); + PRINTQS(adapter, VFRDBAH); + PRINTQS(adapter, VFRDLEN); + PRINTQS(adapter, VFSRRCTL); + PRINTQS(adapter, VFRDH); + PRINTQS(adapter, VFRDT); + PRINTQS(adapter, VFRXDCTL); + + device_printf(dev, "EIMS:\t%08x\n", IXGBE_READ_REG(hw, IXGBE_VTEIMS)); + device_printf(dev, "EIAM:\t%08x\n", IXGBE_READ_REG(hw, IXGBE_VTEIAM)); + device_printf(dev, "EIAC:\t%08x\n", IXGBE_READ_REG(hw, IXGBE_VTEIAC)); } /* ixv_print_debug_info */ /************************************************************************