Hi, Zbigniew Jędrzejewski-Szmek: > > And it doesn't appear to regulate the system clock frequency, which > > basically makes it an inaccurate dumb SNTP client which steps the clock when > > it synchronises. > Please see > http://cgit.freedesktop.org/systemd/systemd/tree/src/timesync/timesyncd-manager.c?id=HEAD#n326 > (manager_adjust_clock). timesync will adjust clock frequency > unless the offset is too big. > That code just steps the clock gradually instead of instantly, by telling the kernel to temporarily change the clock rate.
What this code does _not_ do is to adjust the clock's intrinsic speed (clock drift), i.e. the value which "real" NTP writes to the file /var/lib/ntp/ntp.drift and which makes the clock more accurate even when the external sync is missing. It also should set ADJ_MAXERROR and ADJ_ESTERROR to some reasonable estimate. Not zero, that's just plain wrong. Until it does that right, I'd rather spend a megabyte or two on keeping a "real" NTP server in memory. Yes, even on clients. -- -- Matthias Urlichs
signature.asc
Description: Digital signature