When I was looking at the timesyncd code I noticed few issues that I thought could be easily fixed and you might be interested in.
The last two patches is an attempt to fix the problem with frequent polling. I'm not sure if this is robust enough, I feel like a minor change in the code could break it easily, a more general approach might be needed, maybe track timing of requests to each address separately. I didn't try to fix the crash in resolving as Lennart said he would look into it, in my testing I just commented out the call flushing the addresses. Also, there seems to be a problem in the function adjusting the polling interval, it doesn't consider jitter. When the jitter is large it goes for a shorter interval instead of longer, making everything worse. My suggestion would be to include the approach used in ntpd (search for CLOCK_PGATE in the sources). Miroslav Lichvar (8): timesyncd: check if stratum is valid timesyncd: fix calculation of transmit time timesyncd: get kernel timestamp in nanoseconds timesyncd: check root distance timesyncd: use longer PLL time constant timesyncd: allow two missed replies before reselecting server timesyncd: don't reset polling interval when reselecting server timesyncd: wait before reconnecting to first server src/timesync/timesyncd-manager.c | 91 +++++++++++++++++++++++++++++----------- src/timesync/timesyncd-manager.h | 2 + 2 files changed, 69 insertions(+), 24 deletions(-) -- 1.9.3 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel