Re: [chrony-dev] [PATCH] MacOS X dynamic drift removal interval |
[ Thread Index |
Date Index
| More chrony.tuxfamily.org/chrony-dev Archives
]
On Tue, Aug 18, 2015 at 01:22:15PM +1200, Bryan Christianson wrote:
> @@ -120,7 +138,14 @@ start_adjust(void)
>
> UTI_DiffTimevalsToDouble(&elapsed, &T1, &T0);
> accrued_error = elapsed * current_freq;
> - predicted_error = DRIFT_REMOVAL_INTERVAL / 2.0 * current_freq;
> +
> + UTI_DiffTimevalsToDouble(&drift_removal_elapsed, &T1, &Tdrift);
> + predicted_error = MAX(0.0, (current_drift_removal_interval - drift_removal_elapsed) / 2.0 * current_freq);
If current_freq was negative, wouldn't predicted_error end up as zero?
I think drift_removal_elapsed needs to be clamped before
predicted_error is calculated. It shouldn't be negative and it
shouldn't be larger than current_drift_removal_interval, to not get an
insane error with both backward and forward clock jumps.
--
Miroslav Lichvar
--
To unsubscribe email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "unsubscribe" in the subject.
For help email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "help" in the subject.
Trouble? Email listmaster@xxxxxxxxxxxxxxxxxxxx.