svn commit: r209809 - head/sys/mips/atheros
Adrian Chadd
adrian at FreeBSD.org
Thu Jul 8 15:20:58 UTC 2010
Author: adrian
Date: Thu Jul 8 15:20:57 2010
New Revision: 209809
URL: http://svn.freebsd.org/changeset/base/209809
Log:
Add TX-path aligned/unaligned stats for if_arge.
Modified:
head/sys/mips/atheros/if_arge.c
head/sys/mips/atheros/if_argevar.h
Modified: head/sys/mips/atheros/if_arge.c
==============================================================================
--- head/sys/mips/atheros/if_arge.c Thu Jul 8 15:05:23 2010 (r209808)
+++ head/sys/mips/atheros/if_arge.c Thu Jul 8 15:20:57 2010 (r209809)
@@ -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
*/
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];
Modified: head/sys/mips/atheros/if_argevar.h
==============================================================================
--- head/sys/mips/atheros/if_argevar.h Thu Jul 8 15:05:23 2010 (r209808)
+++ head/sys/mips/atheros/if_argevar.h Thu Jul 8 15:20:57 2010 (r209809)
@@ -155,6 +155,10 @@ struct arge_softc {
uint32_t arge_pll_reg_shift;
int arge_if_flags;
uint32_t arge_debug;
+ struct {
+ uint32_t tx_pkts_unaligned;
+ uint32_t tx_pkts_aligned;
+ } stats;
};
#endif /* __IF_ARGEVAR_H__ */
More information about the svn-src-head
mailing list