K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-09-05T15:21:18.574378Z K 7 svn:log V 1330 As a temporary workaround, treat MCS error rates 5% higher than the best rate as "ok" when picking a best rate. This is all a hack to avoid having to implement the "correct" solution, whatever that is. For example, minstrel calculates a predicted A-MPDU throughput value based on the average A-MPDU sub-frame count and per-rate TX success probability. This, along with lowering sample_stats to 2 from 10 (ie, spend 2% of TX time trying to sample alternate rates) seems to keep my TCP TX mostly stable at around 120-130mbit for my testing. TODO: * The EWMA doesn't raise quickly enough and seems a bit wrong, eg: [ 0 MCS: 250] 329:329 (100%) (EWMA 63.6%) T 22 F 0 avg 407 last 19144 .. how'd the EWMA come out to be 63% given a 100% success rate overall? It made an incorrect judgement early on and hasn't yet had enough time to correct it. The sampling of other MCS rates is also not optimal - it shouldn't try sampling all of them during the sample interval. Instead, come up with a more intelligent way of picking the MCS rates to sample. Finally, comparing MCS rates by number is incorrect. This really should compare the per-rate throughput value, as higher MCS rate != higher throughput. But, as said above, this is "good enough" for local testing. It shouldn't be merged into -HEAD like this. END