diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-03-07 17:00:43 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-03-07 17:00:43 +0000 |
commit | e7c6e9d6038a907a34e4907e41db53d810ea6721 (patch) | |
tree | 210ebb62eeb676e7607361ac87f47977772469b5 | |
parent | d238ba254118490759ed1915a4c503aecb6ffeab (diff) | |
download | upstream-e7c6e9d6038a907a34e4907e41db53d810ea6721.tar.gz upstream-e7c6e9d6038a907a34e4907e41db53d810ea6721.tar.bz2 upstream-e7c6e9d6038a907a34e4907e41db53d810ea6721.zip |
mac80211: improve minstrel_ht performance by reducing the impact of slow sampling
SVN-Revision: 20038
-rw-r--r-- | package/mac80211/patches/560-minstrel_ht.patch | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/package/mac80211/patches/560-minstrel_ht.patch b/package/mac80211/patches/560-minstrel_ht.patch index bc50ca67e2..9fa9e05c52 100644 --- a/package/mac80211/patches/560-minstrel_ht.patch +++ b/package/mac80211/patches/560-minstrel_ht.patch @@ -68,7 +68,7 @@ --- /dev/null +++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -0,0 +1,800 @@ +@@ -0,0 +1,807 @@ +/* + * Copyright (C) 2010 Felix Fietkau <nbd@openwrt.org> + * @@ -262,6 +262,7 @@ + int cur_prob, cur_prob_tp, cur_tp, cur_tp2; + int group, i, index; + ++ mi->sample_slow = 0; + mi->sample_count = 0; + mi->max_tp_rate = 0; + mi->max_tp_rate2 = 0; @@ -542,7 +543,9 @@ + if (!mr->retry_updated) + minstrel_calc_retransmit(mp, mi, index); + -+ if (rtscts) ++ if (mr->probability < MINSTREL_FRAC(20, 100)) ++ rate->count = 2; ++ else if (rtscts) + rate->count = mr->retry_count_rtscts; + else + rate->count = mr->retry_count; @@ -595,9 +598,13 @@ + * if the link is working perfectly. + */ + if (minstrel_get_duration(sample_idx) > -+ minstrel_get_duration(mi->max_tp_rate) && -+ mr->sample_skipped < 10) -+ goto next; ++ minstrel_get_duration(mi->max_tp_rate)) { ++ if (mr->sample_skipped < 10) ++ goto next; ++ ++ if (mi->sample_slow++ > 2) ++ goto next; ++ } + + return sample_idx; + @@ -871,7 +878,7 @@ +} --- /dev/null +++ b/net/mac80211/rc80211_minstrel_ht.h -@@ -0,0 +1,120 @@ +@@ -0,0 +1,121 @@ +/* + * Copyright (C) 2010 Felix Fietkau <nbd@openwrt.org> + * @@ -967,6 +974,7 @@ + u8 sample_wait; + u8 sample_tries; + u8 sample_count; ++ u8 sample_slow; + + /* current MCS group to be sampled */ + u8 sample_group; |