On 2019-09-24 16:48, Toke Høiland-Jørgensen wrote:
Yibo Zhao <yiboz@xxxxxxxxxxxxxx> writes:
I can see why we need the second part (basically, this happens
because
I
forgot to add a check for "no eligible stations" in may_transmit(),
like
the one in next_txq()). And rounding up the division result doesn't
hurt, I guess. But why does it help to change the grace period if
we're
doing all the other stuff?
In multi-clients case, it is possible a TXQ sometimes gets drained due
to FW has deep queue and few packets in TXQ at that time. So the TXQ
is
removed from the rbtree after dequeuing. When it is about to added
back
very soon after the removal, the g_vt might have gone a little far
away
from sta vt where sync is needed. With this sync, the station is
forced
to catch up with the g_vt, however, its chance for transmission has
been
reduced. I think 500us is quite a short period in multi-clients case.
That's a good point, actually: Having the grace period be too small
will
allow stations that leave and re-enter the queue to "skip ahead" and
use
more than its share. However, I think it's a separate issue from what
this patch is about; so how about I just increase the grace period in
the next version of the base patch?
Sure, no problem. :)
-Toke
--
Yibo