Date: Mon, 26 Mar 2012 00:00:25 GMT From: dfilter@FreeBSD.ORG (dfilter service) To: freebsd-wireless@FreeBSD.org Subject: Re: kern/166357: commit references a PR Message-ID: <201203260000.q2Q00PRi063390@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/166357; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/166357: commit references a PR Date: Sun, 25 Mar 2012 23:50:44 +0000 (UTC) Author: adrian Date: Sun Mar 25 23:50:34 2012 New Revision: 233480 URL: http://svn.freebsd.org/changeset/base/233480 Log: Add some more debugging to try and nail down exactly what's going on when I see traffic stalls. It turns out that the bug isn't because the first and last frame in the BAW is in the software queue. It is more likely that it's because the first frame in the BAW is still in the software queue and thus there's no more room to allocate and do subsequent TX. PR: kern/166357 Modified: head/sys/dev/ath/if_ath_tx.c Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Sun Mar 25 21:54:36 2012 (r233479) +++ head/sys/dev/ath/if_ath_tx.c Sun Mar 25 23:50:34 2012 (r233480) @@ -2357,6 +2357,7 @@ ath_tx_xmit_aggr(struct ath_softc *sc, s /* paused? queue */ if (tid->paused) { ATH_TXQ_INSERT_TAIL(tid, bf, bf_list); + /* XXX don't sched - we're paused! */ return; } @@ -2647,13 +2648,19 @@ ath_tx_tid_drain(struct ath_softc *sc, s if (t == 0) { device_printf(sc->sc_dev, "%s: node %p: bf=%p: addbaw=%d, dobaw=%d, " - "seqno_assign=%d, seqno_required=%d, seqno=%d\n", + "seqno_assign=%d, seqno_required=%d, seqno=%d, retry=%d\n", __func__, ni, bf, bf->bf_state.bfs_addedbaw, bf->bf_state.bfs_dobaw, bf->bf_state.bfs_need_seqno, bf->bf_state.bfs_seqno_assigned, - SEQNO(bf->bf_state.bfs_seqno)); + SEQNO(bf->bf_state.bfs_seqno), + bf->bf_state.bfs_retries); + device_printf(sc->sc_dev, + "%s: node %p: bf=%p: tid txq_depth=%d hwq_depth=%d\n", + __func__, ni, bf, + tid->axq_depth, + tid->hwq_depth); device_printf(sc->sc_dev, "%s: node %p: bf=%p: tid %d: txq_depth=%d, " "txq_aggr_depth=%d, sched=%d, paused=%d, " _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203260000.q2Q00PRi063390>