svn commit: r225258 - user/adrian/if_ath_tx/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Tue Aug 30 04:32:16 UTC 2011
Author: adrian
Date: Tue Aug 30 04:32:16 2011
New Revision: 225258
URL: http://svn.freebsd.org/changeset/base/225258
Log:
* correctly bump the max sw retry counter on failed aggregate
frames
* add a new field which increments when an whole aggregate frame
fails to TX
Modified:
user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c
user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c
user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c Tue Aug 30 04:30:41 2011 (r225257)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c Tue Aug 30 04:32:16 2011 (r225258)
@@ -809,6 +809,9 @@ ath_sysctl_stats_attach(struct ath_softc
&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)");
/* Attach the RX phy error array */
ath_sysctl_stats_attach_rxphyerr(sc, child);
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Tue Aug 30 04:30:41 2011 (r225257)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Tue Aug 30 04:32:16 2011 (r225258)
@@ -2644,6 +2644,7 @@ ath_tx_retry_subframe(struct ath_softc *
}
if (bf->bf_state.bfs_retries >= SWMAX_RETRIES) {
+ sc->sc_stats.ast_tx_swretrymax++;
DPRINTF(sc, ATH_DEBUG_SW_TX_RETRIES,
"%s: max retries: seqno %d\n",
__func__, SEQNO(bf->bf_state.bfs_seqno));
@@ -2685,6 +2686,7 @@ ath_tx_comp_aggr_error(struct ath_softc
tap = ath_tx_get_tx_tid(an, tid->tid);
TAILQ_INIT(&bf_q);
+ sc->sc_stats.ast_tx_aggrfail++;
/*
* Update rate control - all frames have failed.
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h Tue Aug 30 04:30:41 2011 (r225257)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h Tue Aug 30 04:32:16 2011 (r225258)
@@ -146,6 +146,7 @@ struct ath_stats {
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 */
struct ath_tx_aggr_stats tx_aggr;
u_int32_t ast_pad[9];
};
More information about the svn-src-user
mailing list