Re: [PATCH v3 0/2] hv_util: adjust system time smoothly

2017-01-17 Thread Vitaly Kuznetsov
Stephen Hemminger  writes:

> On Tue, 17 Jan 2017 16:27:17 +0100
> Vitaly Kuznetsov  wrote:
>
>> 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(-)
>> 
>
> It would be good to update Documentation files to describe any configuration 
> needed.

This is just a PTP device, not any different for other PTP devices so
users will be reading their NTP server docs to figure out how to add a
PTP reference clock.

Or do you have any particular idea where to put an example?

-- 
  Vitaly


Re: [PATCH v3 0/2] hv_util: adjust system time smoothly

2017-01-17 Thread Vitaly Kuznetsov
Stephen Hemminger  writes:

> On Tue, 17 Jan 2017 16:27:17 +0100
> Vitaly Kuznetsov  wrote:
>
>> 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(-)
>> 
>
> It would be good to update Documentation files to describe any configuration 
> needed.

This is just a PTP device, not any different for other PTP devices so
users will be reading their NTP server docs to figure out how to add a
PTP reference clock.

Or do you have any particular idea where to put an example?

-- 
  Vitaly


Re: [PATCH v3 0/2] hv_util: adjust system time smoothly

2017-01-17 Thread Stephen Hemminger
On Tue, 17 Jan 2017 16:27:17 +0100
Vitaly Kuznetsov  wrote:

> 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(-)
> 

It would be good to update Documentation files to describe any configuration 
needed.


Re: [PATCH v3 0/2] hv_util: adjust system time smoothly

2017-01-17 Thread Stephen Hemminger
On Tue, 17 Jan 2017 16:27:17 +0100
Vitaly Kuznetsov  wrote:

> 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(-)
> 

It would be good to update Documentation files to describe any configuration 
needed.


[PATCH v3 0/2] hv_util: adjust system time smoothly

2017-01-17 Thread Vitaly Kuznetsov
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



[PATCH v3 0/2] hv_util: adjust system time smoothly

2017-01-17 Thread Vitaly Kuznetsov
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