Fix mira_node statistics in driver #466
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The itlwm driver uses MiRA algorithm to control the tx rate (upload). There is a bit disconnect between what the MiRA rate adaption statistics wants and what the iwm/iwn driver passed. Note, the iwx driver uses firmware based RA and do not use MiRA.
In the mira formula,
txfail
mean the whole single frame or the whole AMPDU frame get lost. The driver deduce the number oftxfail
from the number of missing ACKs in BA. This looks wrong to me that a temporary sub-frame lost in the ACK would count as whole frame lost. Counting on the number of retries is sufficient to calculate in the mira formula.Also in mira formula, it calculate
ampdu_size * agglen
to count the number of bytes transmitted. Theampdu_size
should be the average of each sub-frame ampdu size, rather than the total ampdu size of all sub-frames.In the AMPDU code for iwm, there was an early return on
iwm_rx_tx_cmd
when frame count more than 1. This seems unnecessary and would affect mira statistics collection.