瀏覽代碼

mac80211: improve minstrel_ht performance by ensuring that rates get sampled fast enough

SVN-Revision: 23554
Felix Fietkau 15 年之前
父節點
當前提交
45c088cdf1
共有 1 個文件被更改,包括 31 次插入0 次删除
  1. 31 0
      package/mac80211/patches/560-minstrel_ht_performance.patch

+ 31 - 0
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;
+ }