The current max throughput rate is known to be good as otherwise it
wouldn't be the max throughput rate. Since rate sampling can introduce
some overhead (by adding RTS for example or due to not aggregating the
frame) don't sample the max throughput rate.
Signed-off-by: Helmut Schaa <[email protected]>
---
net/mac80211/rc80211_minstrel_ht.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
index dbe3dd3..dc40b7b 100644
--- a/net/mac80211/rc80211_minstrel_ht.c
+++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -591,6 +591,13 @@ minstrel_get_sample_rate(struct minstrel_priv *mp, struct minstrel_ht_sta *mi)
minstrel_next_sample_idx(mi);
/*
+ * Sampling might add some overhead (RTS, no aggregation)
+ * to the frame. Hence, don't use sampling for the currently
+ * used max TP rate.
+ */
+ if (sample_idx == mi->max_tp_rate)
+ return -1;
+ /*
* When not using MRR, do not sample if the probability is already
* higher than 95% to avoid wasting airtime
*/
--
1.7.7
On 2012-03-14 1:31 PM, Helmut Schaa wrote:
> The current max throughput rate is known to be good as otherwise it
> wouldn't be the max throughput rate. Since rate sampling can introduce
> some overhead (by adding RTS for example or due to not aggregating the
> frame) don't sample the max throughput rate.
>
> Signed-off-by: Helmut Schaa <[email protected]>
Acked-by: Felix Fietkau <[email protected]>