mac80211: improve minstrel_ht performance by ensuring that rates get sampled fast...
[openwrt/svn-archive/archive.git] / package / mac80211 / patches / 560-minstrel_ht_performance.patch
1 --- a/net/mac80211/rc80211_minstrel_ht.h
2 +++ b/net/mac80211/rc80211_minstrel_ht.h
3 @@ -103,6 +103,7 @@ struct minstrel_ht_sta {
4 u8 sample_tries;
5 u8 sample_count;
6 u8 sample_slow;
7 + u8 sample_retry;
8
9 /* current MCS group to be sampled */
10 u8 sample_group;
11 --- a/net/mac80211/rc80211_minstrel_ht.c
12 +++ b/net/mac80211/rc80211_minstrel_ht.c
13 @@ -261,6 +261,7 @@ minstrel_ht_update_stats(struct minstrel
14
15 /* try to sample up to half of the availble rates during each interval */
16 mi->sample_count *= 4;
17 + mi->sample_retry = mi->sample_count;
18
19 cur_prob = 0;
20 cur_prob_tp = 0;
21 @@ -572,6 +573,10 @@ minstrel_get_sample_rate(struct minstrel
22 return sample_idx;
23
24 next:
25 + if (mi->sample_retry > 0) {
26 + mi->sample_retry--;
27 + mi->sample_tries++;
28 + }
29 minstrel_next_sample_idx(mi);
30 return -1;
31 }