Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Aug 2011 03:12:08 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r225054 - user/adrian/if_ath_tx/sys/dev/ath
Message-ID:  <201108210312.p7L3C8sL080114@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Sun Aug 21 03:12:07 2011
New Revision: 225054
URL: http://svn.freebsd.org/changeset/base/225054

Log:
  * Add some more stats
  * Add a comment that I need to add some locking

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	Sun Aug 21 02:40:42 2011	(r225053)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c	Sun Aug 21 03:12:07 2011	(r225054)
@@ -314,6 +314,8 @@ ath_sysctl_txagg(SYSCTL_HANDLER_ARGS)
 
 	printf("aggr single packet: %d\n",
 	    sc->sc_stats.tx_aggr.aggr_single_pkt);
+	printf("aggr single packet w/ BAW closed: %d\n",
+	    sc->sc_stats.tx_aggr.aggr_baw_closed_single_pkt);
 	printf("aggr non-baw packet: %d\n",
 	    sc->sc_stats.tx_aggr.aggr_nonbaw_pkt);
 	printf("aggr aggregate packet: %d\n",

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	Sun Aug 21 02:40:42 2011	(r225053)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c	Sun Aug 21 03:12:07 2011	(r225054)
@@ -2917,7 +2917,10 @@ ath_tx_tid_hw_queue_aggr(struct ath_soft
 			ath_tx_chaindesclist(sc, bf);
 			ath_hal_clr11n_aggr(sc->sc_ah, bf->bf_desc);
 			ath_tx_set_ratectrl(sc, ni, bf);
-			sc->sc_stats.tx_aggr.aggr_single_pkt++;
+			if (status == ATH_AGGR_BAW_CLOSED)
+				sc->sc_stats.tx_aggr.aggr_baw_closed_single_pkt++;
+			else
+				sc->sc_stats.tx_aggr.aggr_single_pkt++;
 		} else {
 			DPRINTF(sc, ATH_DEBUG_SW_TX_AGGR,
 			    "%s: multi-frame aggregate: %d frames, length %d\n",
@@ -3043,6 +3046,11 @@ ath_tx_tid_hw_queue_norm(struct ath_soft
  * This function walks the list of TIDs (ie, ath_node TIDs
  * with queued traffic) and attempts to schedule traffic
  * from them.
+ *
+ * XXX I haven't locked this code yet, but I need to!
+ * XXX walking the tidq requires the TXQ lock, checking
+ * XXX for how busy the queues are require the relevant
+ * XXX lock!
  */
 void
 ath_txq_sched(struct ath_softc *sc, struct ath_txq *txq)

Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h	Sun Aug 21 02:40:42 2011	(r225053)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h	Sun Aug 21 03:12:07 2011	(r225054)
@@ -40,6 +40,7 @@ struct ath_tx_aggr_stats {
 	u_int32_t	aggr_single_pkt;
 	u_int32_t	aggr_nonbaw_pkt;
 	u_int32_t	aggr_aggr_pkt;
+	u_int32_t	aggr_baw_closed_single_pkt;
 };
 
 struct ath_stats {



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