1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-24 17:45:32 +02:00

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
This commit is contained in:
nbd 2010-10-20 21:01:06 +00:00
parent 0b4fda590a
commit 96ac2aaea7

View File

@ -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;
}