ath9k: Show some live tx-queue values in debugfs.
authorBen Greear <greearb@candelatech.com>
Mon, 10 Jan 2011 07:11:43 +0000 (23:11 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 21 Jan 2011 20:32:21 +0000 (15:32 -0500)
I thought this might help track down stuck queues, etc.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/debug.c

index 3586c43..5075faa 100644 (file)
@@ -589,6 +589,16 @@ static const struct file_operations fops_wiphy = {
                sc->debug.stats.txstats[WME_AC_VO].elem); \
 } while(0)
 
+#define PRX(str, elem)                                                 \
+do {                                                                   \
+       len += snprintf(buf + len, size - len,                          \
+                       "%s%13u%11u%10u%10u\n", str,                    \
+                       (unsigned int)(sc->tx.txq[WME_AC_BE].elem),     \
+                       (unsigned int)(sc->tx.txq[WME_AC_BK].elem),     \
+                       (unsigned int)(sc->tx.txq[WME_AC_VI].elem),     \
+                       (unsigned int)(sc->tx.txq[WME_AC_VO].elem));    \
+} while(0)
+
 static ssize_t read_file_xmit(struct file *file, char __user *user_buf,
                              size_t count, loff_t *ppos)
 {
@@ -619,6 +629,12 @@ static ssize_t read_file_xmit(struct file *file, char __user *user_buf,
        PR("TX-Pkts-All:     ", tx_pkts_all);
        PR("TX-Bytes-All:    ", tx_bytes_all);
 
+       PRX("axq-qnum:        ", axq_qnum);
+       PRX("axq-depth:       ", axq_depth);
+       PRX("axq-stopped      ", stopped);
+       PRX("tx-in-progress   ", axq_tx_inprogress);
+       PRX("pending-frames   ", pending_frames);
+
        if (len > size)
                len = size;