Thread (3 messages) 3 messages, 2 authors, 2016-05-30

Re: [Make-wifi-fast] [RFC] ath9k: Measure per-station airtime usage

From: Michal Kazior <hidden>
Date: 2016-05-30 12:35:39

On 26 May 2016 at 15:50, Toke Høiland-Jørgensen [off-list ref] wrote:
This is my attempt to add per-station airtime usage accounting to ath9k.
For now I just export it to a new debugfs entry, but my plan is to use
it to make (station) scheduling decisions. However, before attempting
that I would like some feedback from someone more familiar with the
ath9k than me as to whether this way of measuring airtime usage is
likely to give reasonable results.

I realise that there's probably some things I'm missing, but an initial
test run indicates that the values are at least in the right ballpark (I
get a total of ~170k usecs of measured airtime per 200 ms sampling
interval when running three simultaneous TCP streams to three different
stations).

So can anyone comment on whether I'm on the right track here? And
possibly provide some more detail as to what I'm missing and how to
remedy that?
[...]
+void ath_debug_tx_airtime(struct ath_softc *sc,
+                         struct ath_node *an,
+                         struct ath_tx_status *ts)
+{
+       struct ath_airtime_stats *astats;
+
+       rcu_read_lock();
+
+       astats = &an->airtime_stats;
+       astats->tx_airtime += ts->duration;
I'm not ath9k expert but this seems to be oblivious to tx retries. The
ts->duration is acquired from the last used tx rate for given frame.
Or am I missing something?

I think you should use ts->ts_rateindex and ts->ts_longretry to factor
in retries (see ath_tx_rc_status).


Michał
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help