Re: [PATCH] [RFC] timerfd: add TFD_NOTIFY_CLOCK_SET to watch forclock changes

From: john stultz
Date: Fri Dec 03 2010 - 19:58:24 EST


On Wed, 2010-12-01 at 17:55 -0800, john stultz wrote:
> On Thu, 2010-12-02 at 01:18 +0000, Jamie Lokier wrote:
> > Valdis.Kletnieks@xxxxxx wrote:
> > > On Wed, 01 Dec 2010 10:43:59 GMT, Jamie Lokier said:
> > >
> > > > So maybe CLOCK_MONOTONIC should be changed to include elapsed time
> > > > during suspend/resume, and CLOCK_MONOTONIC_RAW could remain as it is,
> > > > for programs that want that?
> > >
> > > Wouldn't that be an API break for programs that are expecting the current
> > > behavior of CLOCK_MONOTONIC? Yes, there should be a way to request either of
> > > them - but if there's only one way now, it should continue to act the current
> > > way, and the added way is the second option.
> >
> > I don't know. Can you think of any program which would break if
> > suspend/resume's clocks behaved like ordinary task scheduling - when a
> > task doesn't run for a long time because of scheduling decisions?
> > Hmm, I guess some realtime apps might like to know.
>
> Like I mentioned earlier, CLOCK_MONOTONIC_RAW and CLOCK_MONOTONIC are
> tightly tied, so anything using CLOCK_MONOTONIC_RAW would break.
>
> It might be possible to change both, but I still think such a change
> would be bad.

So actually, as I think more about this, I'm starting to come around to
the side that maybe CLOCK_MONOTONIC should be changed to increment
during suspend (CLOCK_MONOTONIC_RAW could also be moved forward by the
same amount, which isn't really ideal, but maybe not problematic).

There are still quite a number of problems that might be caused by such
a change. So it may still be impractical to actually do, but more and
more it does seem like it might be the better approach.

I keep thinking about it.

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/