diff options
author | adrian <adrian@FreeBSD.org> | 2011-10-26 16:09:05 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2011-10-26 16:09:05 +0000 |
commit | c253b28f92e46b0c212f679fe52985d5f84cecdc (patch) | |
tree | 14e7ef8067be267f240f2c870be0b9486002d069 | |
parent | 1c4fa2aabc40d12d25d5181f214788b216a7f09d (diff) | |
download | FreeBSD-src-c253b28f92e46b0c212f679fe52985d5f84cecdc.zip FreeBSD-src-c253b28f92e46b0c212f679fe52985d5f84cecdc.tar.gz |
As a prelude to bringing over the 11n work, include some extra statistics fields.
-rw-r--r-- | sys/dev/ath/if_ath_sysctl.c | 17 | ||||
-rw-r--r-- | sys/dev/ath/if_athioctl.h | 11 |
2 files changed, 27 insertions, 1 deletions
diff --git a/sys/dev/ath/if_ath_sysctl.c b/sys/dev/ath/if_ath_sysctl.c index ea6f949..9e52f79 100644 --- a/sys/dev/ath/if_ath_sysctl.c +++ b/sys/dev/ath/if_ath_sysctl.c @@ -729,6 +729,23 @@ ath_sysctl_stats_attach(struct ath_softc *sc) &sc->sc_stats.ast_tx_timerexpired, 0, "TX exceeded TX_TIMER register"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_desccfgerr", CTLFLAG_RD, &sc->sc_stats.ast_tx_desccfgerr, 0, "TX Descriptor Cfg Error"); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_swretries", CTLFLAG_RD, + &sc->sc_stats.ast_tx_swretries, 0, "TX software retry count"); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_swretrymax", CTLFLAG_RD, + &sc->sc_stats.ast_tx_swretrymax, 0, "TX software retry max reached"); + + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_data_underrun", CTLFLAG_RD, + &sc->sc_stats.ast_tx_data_underrun, 0, ""); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_delim_underrun", CTLFLAG_RD, + &sc->sc_stats.ast_tx_delim_underrun, 0, ""); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_aggrfail", CTLFLAG_RD, + &sc->sc_stats.ast_tx_aggrfail, 0, + "Number of aggregate TX failures (whole frame)"); + + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_intr", CTLFLAG_RD, + &sc->sc_stats.ast_rx_intr, 0, "RX interrupts"); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_intr", CTLFLAG_RD, + &sc->sc_stats.ast_tx_intr, 0, "TX interrupts"); /* Attach the RX phy error array */ ath_sysctl_stats_attach_rxphyerr(sc, child); diff --git a/sys/dev/ath/if_athioctl.h b/sys/dev/ath/if_athioctl.h index 4b50d0d..065a49c 100644 --- a/sys/dev/ath/if_athioctl.h +++ b/sys/dev/ath/if_athioctl.h @@ -134,7 +134,16 @@ struct ath_stats { u_int32_t ast_tx_xtxop; /* tx exceeded TXOP */ u_int32_t ast_tx_timerexpired; /* tx exceeded TX_TIMER */ u_int32_t ast_tx_desccfgerr; /* tx desc cfg error */ - u_int32_t ast_pad[13]; + u_int32_t ast_tx_swretries; /* software TX retries */ + u_int32_t ast_tx_swretrymax; /* software TX retry max limit reach */ + u_int32_t ast_tx_data_underrun; + u_int32_t ast_tx_delim_underrun; + u_int32_t ast_tx_aggrfail; /* aggregate TX failed in its entirety */ + u_int32_t ast_tx_getnobuf; + u_int32_t ast_tx_getbusybuf; + u_int32_t ast_tx_intr; + u_int32_t ast_rx_intr; + u_int32_t ast_pad[4]; }; #define SIOCGATHSTATS _IOWR('i', 137, struct ifreq) |