Re: [PATCH] [RFC] notify userspace about time changes

From: Kay Sievers
Date: Thu Aug 05 2010 - 19:51:14 EST

On Fri, Aug 6, 2010 at 00:29, john stultz <johnstul@xxxxxxxxxx> wrote:
> On Fri, 2010-08-06 at 00:17 +0200, Kay Sievers wrote:
>> On Thu, Aug 5, 2010 at 23:11, john stultz <johnstul@xxxxxxxxxx> wrote:
>> > On Thu, 2010-08-05 at 15:33 +0300, Alexander Shishkin wrote:
>> >> On 4 August 2010 18:58, john stultz <johnstul@xxxxxxxxxx> wrote:
>> >> > Is there a actual use case that you need this for? ÂI don't really have
>> >> > an issue with the code I just really want to make sure the feature would
>> >> > be useful enough to justify the API and code maintenance going forward.
>> Basically everything that schedules an action based on an absolute
>> time specification, like at 3pm today, and not in 3 hours from now,
>> needs to track such system time changes. Otherwise it has to do
>> nonsense like cron does, to wake up every minute to check the current
>> time.
> time_create(CLOCK_REALTIME,...) creates absolute (not relative) timers
> that should be adjusted when the clock is changed. Is that not the case?

That works, yes. The created timer is still is a fixed value, and it
gets automatically adjusted when the system time changes.

This is the example Lennart and I thought about when we considered
adding cron-like stuff to systemd's timer configs, but didn't want to
do silly things like scheduled checks for the actual time, so we
delayed this feature until such a notification becomes available.

Consider we want stuff like "wakeup every day at 3pm", the next wakeup
might be earlier than the timer we calculated last time, on system
time changes. We need to re-calculate it. This is necessary for all
repeating events.

Say we want to wakeup at 3pm, now it's 4pm, so we schedule it in 23
hours. Now the system time changes to 2pm, and we would expect to
wakeup in one hour, but we take 25.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at