summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-03-16 20:00:27 +0400
committerJohannes Berg <johannes.berg@intel.com>2013-03-18 23:11:58 +0400
commita0ca796c460259bc079631d2d148ffff1d1fc736 (patch)
treeae0738a3ae771a4ff7cbd33a2718b3540b572a43 /net
parentbc96f24266291c1b967cfa868904731b1bb9a08c (diff)
downloadlinux-a0ca796c460259bc079631d2d148ffff1d1fc736.tar.xz
mac80211/minstrel_ht: do not sample actively used rates
max_tp_rate2 and max_prob_rate tend to get used occasionally during retransmission, which is more useful for the statistics than probing with individual probe packets. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/rc80211_minstrel_ht.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
index 0fc9449925ef..d2b264d1311d 100644
--- a/net/mac80211/rc80211_minstrel_ht.c
+++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -648,10 +648,13 @@ minstrel_get_sample_rate(struct minstrel_priv *mp, struct minstrel_ht_sta *mi)
/*
* Sampling might add some overhead (RTS, no aggregation)
* to the frame. Hence, don't use sampling for the currently
- * used max TP rate.
+ * used rates.
*/
- if (sample_idx == mi->max_tp_rate)
+ if (sample_idx == mi->max_tp_rate ||
+ sample_idx == mi->max_tp_rate2 ||
+ sample_idx == mi->max_prob_rate)
return -1;
+
/*
* Do not sample if the probability is already higher than 95%
* to avoid wasting airtime.