Re: 500 ms delay in time saved into RTC

From: Alexandre Belloni
Date: Mon Feb 19 2018 - 05:08:02 EST


On 19/02/2018 at 12:16:04 +0300, Igor Plyatov wrote:
> Dear Rasmus,
>
> thank you very much for explanation!
>
> I have set "RTC_SET_DELAY_SECS = 0.0" in hwclock.c and got acceptable
> result.
>
> It wonder why such critical function does not implemented on kernel level in
> RTC driver?
> It is very strange to rely on specific HW in user space SW.
>

Because of the way the API is designed, handling the MC146818A oddity is
not possible in the driver (i.e. 50% of the time, it will be too late
to handle it).

You can use busybox hwclock which has the x86 insanity commented out:
https://git.busybox.net/busybox/tree/util-linux/hwclock.c


--
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com