Date: Wed, 31 Aug 2011 09:31:50 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r225291 - user/adrian/if_ath_tx/sys/dev/ath Message-ID: <201108310931.p7V9VoDR092147@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: adrian Date: Wed Aug 31 09:31:50 2011 New Revision: 225291 URL: http://svn.freebsd.org/changeset/base/225291 Log: Add another statistic - track how many times the scheduler is called whilst the hardware queue is too deep. 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 Wed Aug 31 09:29:46 2011 (r225290) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c Wed Aug 31 09:31:50 2011 (r225291) @@ -323,6 +323,8 @@ ath_sysctl_txagg(SYSCTL_HANDLER_ARGS) sc->sc_stats.tx_aggr.aggr_aggr_pkt); printf("aggr single packet low hwq: %d\n", sc->sc_stats.tx_aggr.aggr_low_hwq_single_pkt); + printf("aggr sched, no work: %d\n", + sc->sc_stats.tx_aggr.aggr_sched_nopkt); for (i = 0; i < 64; i++) { printf("%2d: %10d ", i, sc->sc_stats.tx_aggr.aggr_pkts[i]); if (i % 4 == 3) 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 Wed Aug 31 09:29:46 2011 (r225290) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Wed Aug 31 09:31:50 2011 (r225291) @@ -3323,6 +3323,7 @@ ath_txq_sched(struct ath_softc *sc, stru * some packets in the aggregation queue. */ if (txq->axq_aggr_depth >= sc->sc_hwq_limit) { + sc->sc_stats.tx_aggr.aggr_sched_nopkt++; return; } @@ -3335,9 +3336,6 @@ ath_txq_sched(struct ath_softc *sc, stru /* * Suspend paused queues here; they'll be resumed * once the addba completes or times out. - * - * Since this touches tid->paused, it should lock - * the TID lock before checking. */ DPRINTF(sc, ATH_DEBUG_SW_TX, "%s: tid=%d, paused=%d\n", __func__, tid->tid, tid->paused); Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h Wed Aug 31 09:29:46 2011 (r225290) +++ user/adrian/if_ath_tx/sys/dev/ath/if_athioctl.h Wed Aug 31 09:31:50 2011 (r225291) @@ -42,6 +42,7 @@ struct ath_tx_aggr_stats { u_int32_t aggr_aggr_pkt; u_int32_t aggr_baw_closed_single_pkt; u_int32_t aggr_low_hwq_single_pkt; + u_int32_t aggr_sched_nopkt; }; struct ath_stats {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201108310931.p7V9VoDR092147>