wil6210: more debug info for vring
print used/available counters on debugfs; print to dmesg when Tx vring becomes empty This aids with performance investigation Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
8eea944af0
commit
67c3e1b41e
@@ -72,11 +72,16 @@ static int wil_vring_debugfs_show(struct seq_file *s, void *data)
|
|||||||
if (vring->va) {
|
if (vring->va) {
|
||||||
int cid = wil->vring2cid_tid[i][0];
|
int cid = wil->vring2cid_tid[i][0];
|
||||||
int tid = wil->vring2cid_tid[i][1];
|
int tid = wil->vring2cid_tid[i][1];
|
||||||
|
u32 swhead = vring->swhead;
|
||||||
|
u32 swtail = vring->swtail;
|
||||||
|
int used = (vring->size + swhead - swtail)
|
||||||
|
% vring->size;
|
||||||
|
int avail = vring->size - used - 1;
|
||||||
char name[10];
|
char name[10];
|
||||||
snprintf(name, sizeof(name), "tx_%2d", i);
|
snprintf(name, sizeof(name), "tx_%2d", i);
|
||||||
|
|
||||||
seq_printf(s, "\n%pM CID %d TID %d\n",
|
seq_printf(s, "\n%pM CID %d TID %d [%3d|%3d]\n",
|
||||||
wil->sta[cid].addr, cid, tid);
|
wil->sta[cid].addr, cid, tid, used, avail);
|
||||||
wil_print_vring(s, wil, name, vring, '_', 'H');
|
wil_print_vring(s, wil, name, vring, '_', 'H');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1132,6 +1132,10 @@ int wil_tx_complete(struct wil6210_priv *wil, int ringid)
|
|||||||
done++;
|
done++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (wil_vring_is_empty(vring))
|
||||||
|
wil_dbg_txrx(wil, "Ring[%2d] empty\n", ringid);
|
||||||
|
|
||||||
if (wil_vring_avail_tx(vring) > wil_vring_wmark_high(vring))
|
if (wil_vring_avail_tx(vring) > wil_vring_wmark_high(vring))
|
||||||
netif_tx_wake_all_queues(wil_to_ndev(wil));
|
netif_tx_wake_all_queues(wil_to_ndev(wil));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user