Thread (17 messages) 17 messages, 4 authors, 2022-02-02

Re: [PATCH net-next 5/5] ptp: start virtual clocks at current system time.

From: Richard Cochran <richardcochran@gmail.com>
Date: 2022-02-01 19:10:50

On Tue, Feb 01, 2022 at 09:42:07AM +0100, Miroslav Lichvar wrote:
On Mon, Jan 31, 2022 at 08:32:40AM -0800, Richard Cochran wrote:
quoted
On Mon, Jan 31, 2022 at 11:21:08AM +0100, Miroslav Lichvar wrote:
quoted
To me, it seems very strange to start the PHC at 0. It makes the
initial clock correction unnecessarily larger by ~7 orders of
magnitude. The system clock is initialized from the RTC, which can
have an error comparable to the TAI-UTC offset, especially if the
machine was turned off for a longer period of time, so why not
initialize the PHC from the system time? The error is much smaller
than billions of seconds.
When the clock reads Jan 1, 1970, then that is clearly wrong, and so a
user might suspect that it is uninititalized.
FWIW, my first thought when I saw the huge offset in ptp4l was that
something is horribly broken. 
Yes, that is my point!  Although you may have jumped to conclusions
about the root cause, still the zero value got your attention.

It is just too easy for people to see the correct date and time (down
to the minute) and assume all is okay.
 
I'd prefer smaller initial error and consistency. The vast majority of
existing drivers seem to initialize the clock at current system time.
Drivers starting at 0 now create confusion. If this is the right way,
shouldn't be all existing drivers patched to follow that?
I agree that consistency is good, and I would love to get rid of all
that ktime_get usage, but maybe people will argue against it for their
beloved driver.

Going forward, I'm asking that new drivers start from zero for an
"uninitialized" clock.

Thanks,
Richard
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help