summaryrefslogtreecommitdiffstats
path: root/sys/mips/atheros/if_arge.c
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2010-07-08 15:20:57 +0000
committeradrian <adrian@FreeBSD.org>2010-07-08 15:20:57 +0000
commit2ee209e09fac7e63952aeb56f83e9a440dc15921 (patch)
tree009b84b33faf9d868d8ca0e21cad28300e68a725 /sys/mips/atheros/if_arge.c
parent2f91a05862468b1f2e154f4fa1947a09f0da83be (diff)
downloadFreeBSD-src-2ee209e09fac7e63952aeb56f83e9a440dc15921.zip
FreeBSD-src-2ee209e09fac7e63952aeb56f83e9a440dc15921.tar.gz
Add TX-path aligned/unaligned stats for if_arge.
Diffstat (limited to 'sys/mips/atheros/if_arge.c')
-rw-r--r--sys/mips/atheros/if_arge.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/mips/atheros/if_arge.c b/sys/mips/atheros/if_arge.c
index c0afc8f..807173d 100644
--- a/sys/mips/atheros/if_arge.c
+++ b/sys/mips/atheros/if_arge.c
@@ -209,6 +209,14 @@ arge_attach_sysctl(device_t dev)
SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
"debug", CTLFLAG_RW, &sc->arge_debug, 0,
"arge interface debugging flags");
+
+ SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+ "tx_pkts_aligned", CTLFLAG_RW, &sc->stats.tx_pkts_aligned, 0,
+ "number of TX aligned packets");
+
+ SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+ "tx_pkts_unaligned", CTLFLAG_RW, &sc->stats.tx_pkts_unaligned, 0,
+ "number of TX unaligned packets");
}
static int
@@ -876,13 +884,15 @@ arge_encap(struct arge_softc *sc, struct mbuf **m_head)
*/
m = *m_head;
if (! arge_mbuf_chain_is_tx_aligned(m)) {
+ sc->stats.tx_pkts_unaligned++;
m = m_defrag(*m_head, M_DONTWAIT);
if (m == NULL) {
*m_head = NULL;
return (ENOBUFS);
}
*m_head = m;
- }
+ } else
+ sc->stats.tx_pkts_aligned++;
prod = sc->arge_cdata.arge_tx_prod;
txd = &sc->arge_cdata.arge_txdesc[prod];
OpenPOWER on IntegriCloud