From owner-svn-src-user@FreeBSD.ORG Sun Aug 21 03:12:08 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 845CE106566B; Sun, 21 Aug 2011 03:12:08 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5AB198FC0C; Sun, 21 Aug 2011 03:12:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p7L3C8as080118; Sun, 21 Aug 2011 03:12:08 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p7L3C8sL080114; Sun, 21 Aug 2011 03:12:08 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201108210312.p7L3C8sL080114@svn.freebsd.org> From: Adrian Chadd Date: Sun, 21 Aug 2011 03:12:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225054 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Aug 2011 03:12:08 -0000 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 {