diff options
author | Thomas Huehn <thomas@net.t-labs.tu-berlin.de> | 2013-03-04 17:30:06 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-03-06 10:36:09 -0500 |
commit | db8c5ee6924cda3823fac83ee8c4115d1a8248c8 (patch) | |
tree | 3041ab2e837a66792dec17505e1741c5b7fb3127 /net/mac80211/rc80211_minstrel.c | |
parent | f744bf81f7501d03f45ba23f9cf947abc3b422c9 (diff) |
mac80211: treat minstrel success probabilities below 10% as implausible
Based on minstrel_ht this patch treats success probabilities below 10% as
implausible values for throughput calculation in minstrel's statistics.
Current throughput per rate with such a low success probability is reset
to 0 MBit/s.
Acked-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Thomas Huehn <thomas@net.t-labs.tu-berlin.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/rc80211_minstrel.c')
-rw-r--r-- | net/mac80211/rc80211_minstrel.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c index 5c0f5327c77f..f8d99a54798f 100644 --- a/net/mac80211/rc80211_minstrel.c +++ b/net/mac80211/rc80211_minstrel.c | |||
@@ -92,7 +92,6 @@ minstrel_update_stats(struct minstrel_priv *mp, struct minstrel_sta_info *mi) | |||
92 | mr->probability = minstrel_ewma(mr->probability, | 92 | mr->probability = minstrel_ewma(mr->probability, |
93 | mr->cur_prob, | 93 | mr->cur_prob, |
94 | EWMA_LEVEL); | 94 | EWMA_LEVEL); |
95 | mr->cur_tp = mr->probability * (1000000 / usecs); | ||
96 | } else | 95 | } else |
97 | mr->sample_skipped++; | 96 | mr->sample_skipped++; |
98 | 97 | ||
@@ -101,6 +100,12 @@ minstrel_update_stats(struct minstrel_priv *mp, struct minstrel_sta_info *mi) | |||
101 | mr->success = 0; | 100 | mr->success = 0; |
102 | mr->attempts = 0; | 101 | mr->attempts = 0; |
103 | 102 | ||
103 | /* Update throughput per rate, reset thr. below 10% success */ | ||
104 | if (mr->probability < MINSTREL_FRAC(10, 100)) | ||
105 | mr->cur_tp = 0; | ||
106 | else | ||
107 | mr->cur_tp = mr->probability * (1000000 / usecs); | ||
108 | |||
104 | /* Sample less often below the 10% chance of success. | 109 | /* Sample less often below the 10% chance of success. |
105 | * Sample less often above the 95% chance of success. */ | 110 | * Sample less often above the 95% chance of success. */ |
106 | if (mr->probability > MINSTREL_FRAC(95, 100) || | 111 | if (mr->probability > MINSTREL_FRAC(95, 100) || |