On 02/21/2013 03:56 PM, Adrian Chadd wrote:
Right. As you increase attenuation, two things happen: * You're going to see lots more filtered frames pop up; which may involve pause/unpause of the queue; * You're going to see BAR frames go out, which will involve pausing/unpausing the queue. So you may have found some very nice way to reproduce pause/unpause related problems that are brought on by lots of TX failures leading to BARs and filtered frames. (Having your BAR frames be filtered .. god I hope not.) So see whether there's some odd scenario where a queue is unpaused and things aren't drained from the pending queue?
The hang I see is where the stats sit like this (below) and never change (for the first queue) To me, the interesting part is that the BE queue is stopped while axq-depth and axq-ampdu depth are zero. I don't fully understand this code..but I sort of expected the depths to be non-zero when packets were being processed by the hardware..maybe that's totally incorrect... It seems to hang forever once it gets stuck in this case unless I reset the chip. I'm not sure if it's related, but the tx rates do not drop as low as I believe they should. These systems are using ath9k rate control, and I plan to change that to minstrel_ht once I can get the current config to at least recover when attenuation gets better.... [root@lf0301-demo1 ~]# cat /debug/ieee80211/wiphy0/ath9k/xmit ;sleep 10; cat /debug/ieee80211/wiphy0/ath9k/xmit ; Num-Tx-Queues: 10 tx-queues-setup: 0x10f poll-work-seen: 1823 BE BK VI VO MPDUs Queued: 500 0 0 4102 MPDUs Completed: 473 0 0 4102 MPDUs XRetried: 27 0 0 0 Aggregates: 200 0 0 0 AMPDUs Queued HW: 97039 0 0 0 AMPDUs Queued SW: 11299 0 0 0 AMPDUs Completed: 107982 0 0 0 AMPDUs Retried: 410 0 0 0 AMPDUs XRetried: 116 0 0 0 TXERR Filtered: 224 0 0 0 FIFO Underrun: 0 0 0 0 TXOP Exceeded: 0 0 0 0 TXTIMER Expiry: 0 0 0 0 DESC CFG Error: 0 0 0 0 DATA Underrun: 0 0 0 0 DELIM Underrun: 0 0 0 0 TX-Pkts-All: 108598 0 0 4102 TX-Bytes-All: 164436206 0 0 304838 hw-put-tx-buf: 107863 0 0 4096 hw-tx-start: 0 0 0 0 hw-tx-proc-desc: 0 0 0 0 TX-Failed: 0 0 0 0 txq-memory-address: f2b724e8 f2b725a4 f2b7242c f2b72370 axq-qnum: 2 3 1 0 axq-depth: 0 0 0 0 axq-ampdu_depth: 0 0 0 0 axq-stopped 1 0 0 0 tx-in-progress 0 0 0 0 pending-frames 123 0 0 0 txq_headidx: 7 0 0 0 txq_tailidx: 7 0 0 0 axq_q empty: 1 1 1 1 axq_acq empty: 1 1 1 1 txq_fifo[0] empty: 1 1 1 1 txq_fifo[1] empty: 1 1 1 1 txq_fifo[2] empty: 1 1 1 1 txq_fifo[3] empty: 1 1 1 1 txq_fifo[4] empty: 1 1 1 1 txq_fifo[5] empty: 1 1 1 1 txq_fifo[6] empty: 1 1 1 1 txq_fifo[7] empty: 1 1 1 1 Num-Tx-Queues: 10 tx-queues-setup: 0x10f poll-work-seen: 1833 BE BK VI VO MPDUs Queued: 500 0 0 4140 MPDUs Completed: 473 0 0 4140 MPDUs XRetried: 27 0 0 0 Aggregates: 200 0 0 0 AMPDUs Queued HW: 97039 0 0 0 AMPDUs Queued SW: 11299 0 0 0 AMPDUs Completed: 107982 0 0 0 AMPDUs Retried: 410 0 0 0 AMPDUs XRetried: 116 0 0 0 TXERR Filtered: 224 0 0 0 FIFO Underrun: 0 0 0 0 TXOP Exceeded: 0 0 0 0 TXTIMER Expiry: 0 0 0 0 DESC CFG Error: 0 0 0 0 DATA Underrun: 0 0 0 0 DELIM Underrun: 0 0 0 0 TX-Pkts-All: 108598 0 0 4140 TX-Bytes-All: 164436206 0 0 306788 hw-put-tx-buf: 107863 0 0 4134 hw-tx-start: 0 0 0 0 hw-tx-proc-desc: 0 0 0 0 TX-Failed: 0 0 0 0 txq-memory-address: f2b724e8 f2b725a4 f2b7242c f2b72370 axq-qnum: 2 3 1 0 axq-depth: 0 0 0 0 axq-ampdu_depth: 0 0 0 0 axq-stopped 1 0 0 0 tx-in-progress 0 0 0 0 pending-frames 123 0 0 0 txq_headidx: 7 0 0 6 txq_tailidx: 7 0 0 6 axq_q empty: 1 1 1 1 axq_acq empty: 1 1 1 1 txq_fifo[0] empty: 1 1 1 1 txq_fifo[1] empty: 1 1 1 1 txq_fifo[2] empty: 1 1 1 1 txq_fifo[3] empty: 1 1 1 1 txq_fifo[4] empty: 1 1 1 1 txq_fifo[5] empty: 1 1 1 1 txq_fifo[6] empty: 1 1 1 1 txq_fifo[7] empty: 1 1 1 1 Thanks, Ben -- Ben Greear <greearb@xxxxxxxxxxxxxxx> Candela Technologies Inc http://www.candelatech.com -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html