Re: [RFCv4] timerfd: add TFD_NOTIFY_CLOCK_SET to watch for clockchanges

From: Thomas Gleixner
Date: Thu Mar 10 2011 - 04:09:10 EST


On Thu, 10 Mar 2011, Kay Sievers wrote:

> On Thu, Mar 10, 2011 at 01:25, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > On Wed, Â9 Mar 2011 16:36:51 +0200
> > Alexander Shishkin <virtuoso@xxxxxxxxx> wrote:
> >
> >> Changes since v3:
> >> Â- changed timerfd_settime() semantics (see below)
> >> Changes since v2:
> >> Â- replaced sysfs interface with a syscall
> >> Â- added sysctl/procfs handle to set a limit to the number of users
> >> Â- fixed issues pointed out by Greg.
> >> Changes since v1:
> >> Â- updated against 2.6.36-rc1,
> >> Â- added notification/filtering options,
> >> Â- added Documentation/ABI/sysfs-kernel-time-notify interface description.
>
> > It would be helpful to know if the identified users of this feature
> > actually find it useful and adequate. ÂI guess the most common
> > application is the 1,001 desktop clock widgets. ÂDo you have any
> > feedback from any of the owners of those?
>
> We want it for systemd, to provide cron-like functionality but without
> the need to stupidly wake up every minute and check the system time
> for possible jumps.
>
> It also sounds useful for a generic resume (after system suspend)
> notification for applications, which isn't really possible today.

Note, that we have CLOCK_BOOTTIME pending for .39 which aims at the
same problem. It's basically CLOCK_MONOTONIC adjusted by the time we
were in suspend. So while CLOCK_MONOTONIC timers are not aware of the
time spent in suspend CLOCK_BOOTTIME timers are. The reason for
implementing CLOCK_BOOTTIME was basically the same problem.

Thanks,

tglx