Re: [PATCH 1/7] notify userspace about time changes

From: john stultz
Date: Thu Sep 16 2010 - 19:15:27 EST


On Fri, 2010-09-17 at 01:58 +0300, Alexander Shishkin wrote:
> On Thu, Sep 16, 2010 at 03:30:40 -0700, john stultz wrote:
> > On Fri, 2010-09-17 at 01:10 +0300, Alexander Shishkin wrote:
> > > Certain userspace applications (like "clock" desktop applets or cron) might
> > > want to be notified when some other application changes the system time. It
> > > might also be important for an application to be able to distinguish between
> > > its own and somebody else's time changes.
> > >
> > > This patch implements a notification interface via eventfd mechanism. Proccess
> > > wishing to be notified about time changes should create an eventfd and pass it
> > > to time_change_notify() syscall along with notification options.
> > > After that, any calls to settimeofday()/stime()/adjtimex() made by other
> > > processes will be signalled to this eventfd. Credits for suggesting the eventfd
> > > mechanism for this purpose go to Kirill Shutemov.
> >
> > One thing I have thought of since the last time you posted this, maybe
> > it would be worth adding a clockid field to the syscall?
> >
> > Basically, we're looking at extending the posix clocks interfaces to
> > allow for additional clock hardware to be exposed (See the discussion on
> > PTP and my CLOCK_RTC patch today for examples and details).
> >
> > So it seems possible that folks would want a similar interface to catch
> > updates to non CLOCK_REALTIME clocks.
> >
> > Does this seem reasonable?
>
> The whole idea seems interesting, I'll try to add this in the next iteration
> of this patchset.

Very cool!

> The first thing that comes it mind is -- are there going to be additional
> events that the user might like to be notified of, like rtc_set_alarm()?
> Doesn't seem too likely, though.

Well, the posix interface patch is trying to abstract over the hardware
details like rtc_set_alarm.

So instead it would be timer_create/timer_settime/etc. These interfaces
deal with timer structures that are per-process, so I don't think we
need a notification hook for them.

thanks
-john




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/