Re: [Bug #12667] Badness at kernel/time/timekeeping.c:98 in pmud (timekeeping_suspended)

Rafael J. Wysocki
2009-02-19T21:23:22Z

On Thursday 19 February 2009, Thomas Gleixner wrote:
> On Thu, 19 Feb 2009, Benjamin Herrenschmidt wrote:
>
> > On Thu, 2009-02-19 at 21:27 +1300, Paul Collins wrote:
> > > > Just for laughs I slapped together the following, which seems to do
> > > the
> > > > job, although not especially tidily.
> > >
> > > And it doesn't even do the job. Judging by this new trace, submitting
> > > input events from the via-pmu resume function is still too early.
> > >
> > What's up Thomas ? We can't call gettimeofday() from a sysdev
> > suspend/resume ? That's a little bit too harsh no ?
>
> Well, harsh or not is not the question here.
>
> Fact is that you call gettimeofday() _before_ the timekeeping code has
> resumed.
>
> That's a simple ordering problem. timekeeping is in the sysdev class
> as well and it's not the only sysdev which has explicit ordering
> requirements.

Do we need suspend-resume priorities for sysdevs? Such that sysdevs
with a higher priority will always be suspended earlier and resumed later
than sysdevs with lower priority (or the other way around)?

Rafael