diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-10-20 21:01:06 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-10-20 21:01:06 +0000 |
commit | 96ac2aaea72a4708851af92fbebbd8b94222b171 (patch) | |
tree | b4cfb4cd4f464c773252c749ba1ebd8ca829d0db /package | |
parent | 0b4fda590a435c61977e172b8fd4f38191a721cf (diff) |
mac80211: improve minstrel_ht performance by ensuring that rates get sampled fast enough
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23554 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r-- | package/mac80211/patches/560-minstrel_ht_performance.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/package/mac80211/patches/560-minstrel_ht_performance.patch b/package/mac80211/patches/560-minstrel_ht_performance.patch new file mode 100644 index 000000000..43ff78b3a --- /dev/null +++ b/package/mac80211/patches/560-minstrel_ht_performance.patch @@ -0,0 +1,31 @@ +--- a/net/mac80211/rc80211_minstrel_ht.h ++++ b/net/mac80211/rc80211_minstrel_ht.h +@@ -103,6 +103,7 @@ struct minstrel_ht_sta { + u8 sample_tries; + u8 sample_count; + u8 sample_slow; ++ u8 sample_retry; + + /* current MCS group to be sampled */ + u8 sample_group; +--- a/net/mac80211/rc80211_minstrel_ht.c ++++ b/net/mac80211/rc80211_minstrel_ht.c +@@ -261,6 +261,7 @@ minstrel_ht_update_stats(struct minstrel + + /* try to sample up to half of the availble rates during each interval */ + mi->sample_count *= 4; ++ mi->sample_retry = mi->sample_count; + + cur_prob = 0; + cur_prob_tp = 0; +@@ -572,6 +573,10 @@ minstrel_get_sample_rate(struct minstrel + return sample_idx; + + next: ++ if (mi->sample_retry > 0) { ++ mi->sample_retry--; ++ mi->sample_tries++; ++ } + minstrel_next_sample_idx(mi); + return -1; + } |