summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-20 21:38:31 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-20 21:38:31 +0000
commit734a4bdaa567a646b16b7be882865b3a327562b1 (patch)
tree6a30b3cdae90417bc505dcccfa70114cdb24bfb5
parent96ac2aaea72a4708851af92fbebbd8b94222b171 (diff)
mac80211: decrease the minstrel_ht sampling interval for faster rate adaption
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23555 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/mac80211/patches/560-minstrel_ht_performance.patch3
-rw-r--r--package/mac80211/patches/561-minstrel_ht_sampling_interval.patch11
2 files changed, 13 insertions, 1 deletions
diff --git a/package/mac80211/patches/560-minstrel_ht_performance.patch b/package/mac80211/patches/560-minstrel_ht_performance.patch
index 43ff78b3a..a3e7f424a 100644
--- a/package/mac80211/patches/560-minstrel_ht_performance.patch
+++ b/package/mac80211/patches/560-minstrel_ht_performance.patch
@@ -18,13 +18,14 @@
cur_prob = 0;
cur_prob_tp = 0;
-@@ -572,6 +573,10 @@ minstrel_get_sample_rate(struct minstrel
+@@ -572,6 +573,11 @@ minstrel_get_sample_rate(struct minstrel
return sample_idx;
next:
+ if (mi->sample_retry > 0) {
+ mi->sample_retry--;
+ mi->sample_tries++;
++ mi->sample_wait = 1;
+ }
minstrel_next_sample_idx(mi);
return -1;
diff --git a/package/mac80211/patches/561-minstrel_ht_sampling_interval.patch b/package/mac80211/patches/561-minstrel_ht_sampling_interval.patch
new file mode 100644
index 000000000..f9465e8be
--- /dev/null
+++ b/package/mac80211/patches/561-minstrel_ht_sampling_interval.patch
@@ -0,0 +1,11 @@
+--- a/net/mac80211/rc80211_minstrel_ht.c
++++ b/net/mac80211/rc80211_minstrel_ht.c
+@@ -408,7 +408,7 @@ minstrel_ht_tx_status(void *priv, struct
+ mi->ampdu_len += info->status.ampdu_len;
+
+ if (!mi->sample_wait && !mi->sample_tries && mi->sample_count > 0) {
+- mi->sample_wait = 4 + 2 * MINSTREL_TRUNC(mi->avg_ampdu_len);
++ mi->sample_wait = 8 + MINSTREL_TRUNC(mi->avg_ampdu_len);
+ mi->sample_tries = 3;
+ mi->sample_count--;
+ }