svn commit: r247317 - head/sys/dev/ath/ath_rate/sample
Adrian Chadd
adrian at FreeBSD.org
Tue Feb 26 10:24:49 UTC 2013
Author: adrian
Date: Tue Feb 26 10:24:49 2013
New Revision: 247317
URL: http://svnweb.freebsd.org/changeset/base/247317
Log:
Update the EWMA statistics for each intermediary rate as well as the final
rate.
This fixes two things:
* The intermediary rates now also have their EWMA values changed;
* The existing code was using the wrong value for longtries - so the
EWMA stats were only adjusted for the first rate and not subsequent
rates in a MRR setup.
TODO:
* Merge the EWMA updates into update_stats() now..
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 Tue Feb 26 08:53:33 2013 (r247316)
+++ head/sys/dev/ath/ath_rate/sample/sample.c Tue Feb 26 10:24:49 2013 (r247317)
@@ -1008,6 +1008,15 @@ ath_rate_tx_complete(struct ath_softc *s
short_tries, long_tries,
long_tries > rc[0].tries,
nframes, nbad);
+ update_ewma_stats(sc, an, frame_size,
+ rc[0].rix, rc[0].tries,
+ rc[1].rix, rc[1].tries,
+ rc[2].rix, rc[2].tries,
+ rc[3].rix, rc[3].tries,
+ short_tries, long_tries,
+ long_tries > rc[0].tries,
+ nframes, nbad);
+
long_tries -= rc[0].tries;
}
@@ -1020,6 +1029,14 @@ ath_rate_tx_complete(struct ath_softc *s
short_tries, long_tries,
status,
nframes, nbad);
+ update_ewma_stats(sc, an, frame_size,
+ rc[1].rix, rc[1].tries,
+ rc[2].rix, rc[2].tries,
+ rc[3].rix, rc[3].tries,
+ 0, 0,
+ short_tries, long_tries,
+ status,
+ nframes, nbad);
long_tries -= rc[1].tries;
}
@@ -1032,6 +1049,14 @@ ath_rate_tx_complete(struct ath_softc *s
short_tries, long_tries,
status,
nframes, nbad);
+ update_ewma_stats(sc, an, frame_size,
+ rc[2].rix, rc[2].tries,
+ rc[3].rix, rc[3].tries,
+ 0, 0,
+ 0, 0,
+ short_tries, long_tries,
+ status,
+ nframes, nbad);
long_tries -= rc[2].tries;
}
@@ -1044,17 +1069,15 @@ ath_rate_tx_complete(struct ath_softc *s
short_tries, long_tries,
status,
nframes, nbad);
+ update_ewma_stats(sc, an, frame_size,
+ rc[3].rix, rc[3].tries,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ short_tries, long_tries,
+ status,
+ nframes, nbad);
}
-
- update_ewma_stats(sc, an, frame_size,
- rc[0].rix, rc[0].tries,
- rc[1].rix, rc[1].tries,
- rc[2].rix, rc[2].tries,
- rc[3].rix, rc[3].tries,
- short_tries, long_tries,
- long_tries > rc[0].tries,
- nframes, nbad);
-
}
}
More information about the svn-src-head
mailing list