mac80211: improve minstrel_ht performance by ensuring that rates get sampled fast...
authorFelix Fietkau <nbd@openwrt.org>
Wed, 20 Oct 2010 21:01:06 +0000 (21:01 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 20 Oct 2010 21:01:06 +0000 (21:01 +0000)
SVN-Revision: 23554

package/mac80211/patches/560-minstrel_ht_performance.patch [new file with mode: 0644]

diff --git a/package/mac80211/patches/560-minstrel_ht_performance.patch b/package/mac80211/patches/560-minstrel_ht_performance.patch
new file mode 100644 (file)
index 0000000..43ff78b
--- /dev/null
@@ -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;
+ }