** Description changed: Please include the following upstream commit into lts-xenial, 16.04 HWE, Yakkity, and Zesty. This will improve the behavior of timesync on Hyper-V hosts while simultaneously using network time sync protocols like NTP. + https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/hv/hv_util.c?id=3716a49a81ba19dda7202633a68b28564ba95eb5 + commit 3716a49a81ba19dda7202633a68b28564ba95eb5 Author: Vitaly Kuznetsov <[email protected]> Date: Sat Feb 4 09:57:14 2017 -0700 - hv_utils: implement Hyper-V PTP source + hv_utils: implement Hyper-V PTP source - With TimeSync version 4 protocol support we started updating system time - continuously through the whole lifetime of Hyper-V guests. Every 5 seconds - there is a time sample from the host which triggers do_settimeofday[64](). - While the time from the host is very accurate such adjustments may cause - issues: - - Time is jumping forward and backward, some applications may misbehave. - - In case an NTP server runs in parallel and uses something else for time - sync (network, PTP,...) system time will never converge. - - Systemd starts annoying you by printing "Time has been changed" every 5 - seconds to the system log. + With TimeSync version 4 protocol support we started updating system time + continuously through the whole lifetime of Hyper-V guests. Every 5 seconds + there is a time sample from the host which triggers do_settimeofday[64](). + While the time from the host is very accurate such adjustments may cause + issues: + - Time is jumping forward and backward, some applications may misbehave. + - In case an NTP server runs in parallel and uses something else for time + sync (network, PTP,...) system time will never converge. + - Systemd starts annoying you by printing "Time has been changed" every 5 + seconds to the system log. - Instead of doing in-kernel time adjustments offload the work to an - NTP client by exposing TimeSync messages as a PTP device. Users may now - decide what they want to use as a source. + Instead of doing in-kernel time adjustments offload the work to an + NTP client by exposing TimeSync messages as a PTP device. Users may now + decide what they want to use as a source. - I tested the solution with chrony, the config was: + I tested the solution with chrony, the config was: - refclock PHC /dev/ptp0 poll 3 dpoll -2 offset 0 + refclock PHC /dev/ptp0 poll 3 dpoll -2 offset 0 - The result I'm seeing is accurate enough, the time delta between the guest - and the host is almost always within [-10us, +10us], the in-kernel solution - was giving us comparable results. + The result I'm seeing is accurate enough, the time delta between the guest + and the host is almost always within [-10us, +10us], the in-kernel solution + was giving us comparable results. - I also tried implementing PPS device instead of PTP by using not currently - used Hyper-V synthetic timers (we use only one of four for clockevent) but - with PPS source only chrony wasn't able to give me the required accuracy, - the delta often more that 100us. + I also tried implementing PPS device instead of PTP by using not currently + used Hyper-V synthetic timers (we use only one of four for clockevent) but + with PPS source only chrony wasn't able to give me the required accuracy, + the delta often more that 100us. - Signed-off-by: Vitaly Kuznetsov <[email protected]> - Signed-off-by: K. Y. Srinivasan <[email protected]> - Signed-off-by: Greg Kroah-Hartman <[email protected]> + Signed-off-by: Vitaly Kuznetsov <[email protected]> + Signed-off-by: K. Y. Srinivasan <[email protected]> + Signed-off-by: Greg Kroah-Hartman <[email protected]>
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1676635 Title: [Hyper-V] Implement Hyper-V PTP Source To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1676635/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
