From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751341AbdAQP1e (ORCPT ); Tue, 17 Jan 2017 10:27:34 -0500 Received: from mx1.redhat.com ([209.132.183.28]:49826 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751239AbdAQP12 (ORCPT ); Tue, 17 Jan 2017 10:27:28 -0500 From: Vitaly Kuznetsov To: devel@linuxdriverproject.org Cc: Thomas Gleixner , linux-kernel@vger.kernel.org, Haiyang Zhang , "K. Y. Srinivasan" , John Stultz , Alex Ng , Stephen Hemminger , Olaf Hering , Richard Cochran Subject: [PATCH v3 0/2] hv_util: adjust system time smoothly Date: Tue, 17 Jan 2017 16:27:17 +0100 Message-Id: <20170117152719.23618-1-vkuznets@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Tue, 17 Jan 2017 15:27:24 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Changes since v2: - Implement Hyper-V PTP device instead of doint in-kernel time sync. Changes since "[PATCH RFC] hv_utils: implement Hyper-V PTP source": - Richard Cochran: implement .adjfreq, .adjtime, .settime64 returning -EOPNOTSUPP. - Olaf Hering: change IS_ERR->IS_ERR_OR_NULL as CONFIG_PTP_1588_CLOCK can be disabled. - Thomas Gleixner: formatting fixes, comments added. Vitaly Kuznetsov (2): hv_util: switch to using timespec64 hv_utils: implement Hyper-V PTP source drivers/hv/hv_util.c | 142 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 116 insertions(+), 26 deletions(-) -- 2.9.3