svn commit: r242392 - head/sys/dev/ath/ath_rate/sample
Adrian Chadd
adrian at FreeBSD.org
Wed Oct 31 06:35:50 UTC 2012
Author: adrian
Date: Wed Oct 31 06:35:50 2012
New Revision: 242392
URL: http://svn.freebsd.org/changeset/base/242392
Log:
I've had some feedback that CCK rates are more reliable than MCS 0
in some very degenerate conditions.
However, until ath_rate_form_aggr() is taught to not form aggregates
if ANY selected rate is non-MCS, this can't yet be enabled.
So, just add a comment.
Modified:
head/sys/dev/ath/ath_rate/sample/sample.c
Modified: head/sys/dev/ath/ath_rate/sample/sample.c
==============================================================================
--- head/sys/dev/ath/ath_rate/sample/sample.c Wed Oct 31 06:27:58 2012 (r242391)
+++ head/sys/dev/ath/ath_rate/sample/sample.c Wed Oct 31 06:35:50 2012 (r242392)
@@ -272,12 +272,29 @@ pick_sample_rate(struct sample_softc *ss
continue;
}
+ /*
+ * The following code stops trying to sample
+ * non-MCS rates when speaking to an MCS node.
+ * However, at least for CCK rates in 2.4GHz mode,
+ * the non-MCS rates MAY actually provide better
+ * PER at the very far edge of reception.
+ *
+ * However! Until ath_rate_form_aggr() grows
+ * some logic to not form aggregates if the
+ * selected rate is non-MCS, this won't work.
+ *
+ * So don't disable this code until you've taught
+ * ath_rate_form_aggr() to drop out if any of
+ * the selected rates are non-MCS.
+ */
+#if 1
/* if the node is HT and the rate isn't HT, don't bother sample */
if ((an->an_node.ni_flags & IEEE80211_NODE_HT) &&
(rt->info[rix].phy != IEEE80211_T_HT)) {
mask &= ~((uint64_t) 1<<rix);
goto nextrate;
}
+#endif
/* this bit-rate is always worse than the current one */
if (sn->stats[size_bin][rix].perfect_tx_time > current_tt) {
More information about the svn-src-head
mailing list