Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Aug 2011 04:32:16 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r225258 - user/adrian/if_ath_tx/sys/dev/ath
Message-ID:  <201108300432.p7U4WGbm032582@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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];
 };



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201108300432.p7U4WGbm032582>