Joel, On Mon, Dec 13 2021 at 06:39, Joel Daniels wrote: > On Sat, 11 Dec 2021 14:36 +0100, Thomas Gleixner wrote: >> Can you please verify that the problem persists with NTP enabled and >> synchronized? > > Yes, I just verified that the problem still exists while > synchronized to NTP. ... > $ chronyc tracking && echo && chronyc sources > [...] > Ref time (UTC) : Mon Dec 13 13:30:52 2021 > System time : 5.597892284 seconds fast of NTP time thanks for making sure that this is really a RTC issue on that machine. > The "if" branch does not apply as I have no clock sources flagged as > CLOCK_SOURCE_SUSPEND_NONSTOP but the "else if" branch does apply. Which CPU is in that box? > The kernel seems to believe that the time spent sleeping is exactly > the difference of two calls to read_persistent_clock64 with no option > to adjust for persistent clock drift. The kernel does not believe. It relies on the accuracy of the CMOS clock which is usually pretty good. > I would like to provide a way for user space to inform the kernel > that the persistent clock drifts so it can make a corresponding > adjustment when resuming from a long suspend period. > > In my use case it would be enough for me to set this parameter on > boot. In use cases with continuous network access, NTP daemons > could be enhanced to periodically update this parameter with the > daemon's best estimate of the persistent clock drift. That needs some thought. The RTC people (cc'ed now) might have opionions on that. Thanks, tglx