From owner-svn-src-user@FreeBSD.ORG Tue Sep 6 02:31:57 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 DF187106564A; Tue, 6 Sep 2011 02:31:57 +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 7CFBF8FC14; Tue, 6 Sep 2011 02:31:57 +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 p862Vv8s064159; Tue, 6 Sep 2011 02:31:57 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p862VviT064155; Tue, 6 Sep 2011 02:31:57 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109060231.p862VviT064155@svn.freebsd.org> From: Adrian Chadd Date: Tue, 6 Sep 2011 02:31:57 +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: r225411 - 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: Tue, 06 Sep 2011 02:31:58 -0000 Author: adrian Date: Tue Sep 6 02:31:57 2011 New Revision: 225411 URL: http://svn.freebsd.org/changeset/base/225411 Log: Add some debugging to keep track when TX buffers are either busy or missing. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Tue Sep 6 01:42:49 2011 (r225410) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Tue Sep 6 02:31:57 2011 (r225411) @@ -1860,6 +1860,15 @@ _ath_getbuf_locked(struct ath_softc *sc) ATH_TXBUF_LOCK_ASSERT(sc); bf = TAILQ_FIRST(&sc->sc_txbuf); + if (bf == NULL) { + sc->sc_stats.ast_tx_getnobuf++; + } else { + if (bf->bf_flags & ATH_BUF_BUSY) { + sc->sc_stats.ast_tx_getbusybuf++; + bf = NULL; + } + } + if (bf != NULL && (bf->bf_flags & ATH_BUF_BUSY) == 0) TAILQ_REMOVE(&sc->sc_txbuf, bf, bf_list); else 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 Sep 6 01:42:49 2011 (r225410) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c Tue Sep 6 02:31:57 2011 (r225411) @@ -313,6 +313,9 @@ ath_sysctl_txagg(SYSCTL_HANDLER_ARGS) if (param != 1) return 0; + printf("no tx bufs (empty list): %d\n", sc->sc_stats.ast_tx_getnobuf); + printf("no tx bufs (was busy): %d\n", sc->sc_stats.ast_tx_getbusybuf); + printf("aggr single packet: %d\n", sc->sc_aggr_stats.aggr_single_pkt); printf("aggr single packet w/ BAW closed: %d\n", Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h Tue Sep 6 01:42:49 2011 (r225410) +++ user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h Tue Sep 6 02:31:57 2011 (r225411) @@ -149,6 +149,8 @@ struct ath_stats { 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[7];