mac80211: Take into account TSF adjustment latency in Toffset setpoint
When testing mesh synchronization we observed a global TSF slowdown that was dependent on the number of synchronized mesh stations. This seems to be caused by the TSF adjustment (read/write) latency. Adding a small margin to the Toffset setpoint solved the problem. Signed-off-by: Shinichi Hotori <hotorinn@gmail.com> Signed-off-by: Yu Niiro <yu.niiro@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
a802a6eba1
commit
ec14bcd20f
1 changed files with 7 additions and 1 deletions
|
@ -24,11 +24,17 @@
|
||||||
*/
|
*/
|
||||||
#define TOFFSET_MINIMUM_ADJUSTMENT 10
|
#define TOFFSET_MINIMUM_ADJUSTMENT 10
|
||||||
|
|
||||||
|
/* This is not in the standard. It is a margin added to the
|
||||||
|
* Toffset setpoint to mitigate TSF overcorrection
|
||||||
|
* introduced by TSF adjustment latency.
|
||||||
|
*/
|
||||||
|
#define TOFFSET_SET_MARGIN 20
|
||||||
|
|
||||||
/* This is not in the standard. It represents the maximum Toffset jump above
|
/* This is not in the standard. It represents the maximum Toffset jump above
|
||||||
* which we'll invalidate the Toffset setpoint and choose a new setpoint. This
|
* which we'll invalidate the Toffset setpoint and choose a new setpoint. This
|
||||||
* could be, for instance, in case a neighbor is restarted and its TSF counter
|
* could be, for instance, in case a neighbor is restarted and its TSF counter
|
||||||
* reset.
|
* reset.
|
||||||
* */
|
*/
|
||||||
#define TOFFSET_MAXIMUM_ADJUSTMENT 30000 /* 30 ms */
|
#define TOFFSET_MAXIMUM_ADJUSTMENT 30000 /* 30 ms */
|
||||||
|
|
||||||
struct sync_method {
|
struct sync_method {
|
||||||
|
|
Loading…
Reference in a new issue