Hi Andrew,

Thanks for your feedback!

> Currently, that means tx rate / 3 (which is an under-estimate).

I think if I recall correctly this was intentional that the
fallback typically under-estimates. Generally speaking better to
under-estimate than over-estimate for a fallback mechanism which
uses a worse approach. The tx rate / 3 fallback is more pessimistic
by design.

> 
> This results in my network perferring 2.4ghz paths when it should be 
> preferring
> 5ghz paths.

Makes sense from the original design idea. The 5ghz radio does not
provide us with an accurate expected throughput from its
locked-up, hidden rate control, so we are better safe than sorry
here and under-estimate it.

But shouldn't this also mean that this patch has a high chance of
fixing the issue in your setup? With this patch you should get a
higher, more "realistic"/comparable estimate for your 5ghz radio?

> The problem is that throughput calculation method is not consistent
> across radios.

Full ACK.

> 
> I know that both these methods of throughput estimation are trying to estimate
> the same thing, but they are implemented differently.

ACK.

> There implementation details
> can result in a bias to over or under estimation.
> 
> I'm suggesting that we make an effort to make the throughput
> calculation method consistent across radios. More specifically,
> if one radio doesn't support sta_get_expected_throughput(),
> then we shouldn't use that method for any radio -- all radios
> should use the same fallback mechanism.

This one I'm not sure of... different radios can still use
different rate control algorithms. One radio might prefer to use
higher WLAN bitrates and tolarate more loss. While another radio
might be more cautious and might generally use lower WLAN bitrates,
to maybe achieve less loss.

And I'm also wondering if that would result in the wrong overall
incentives. Should vendors who give us more useful information
really be punished for that, by us falling back to the method used
with the worst, most locked-up vendor?

> [...]
> In my case, I also found that sta_get_expected_throughput() delivers
> over-estimates.

Or the other one under-estimates ;-). Another thing to keep in
mind I think an expected throughput measurment would be closer
to a UDP than a TCP test. I guess your measurements were with TCP?
On WiFi UDP and TCP throughput can differ quite a bit, at least
from my experience.

Regards, Linus

Reply via email to