diff options
author | adrian <adrian@FreeBSD.org> | 2010-07-08 15:20:57 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2010-07-08 15:20:57 +0000 |
commit | 2ee209e09fac7e63952aeb56f83e9a440dc15921 (patch) | |
tree | 009b84b33faf9d868d8ca0e21cad28300e68a725 /sys/mips/atheros/if_arge.c | |
parent | 2f91a05862468b1f2e154f4fa1947a09f0da83be (diff) | |
download | FreeBSD-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.c | 12 |
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]; |