Re: [PATCH] RFC: nomadik: expand timesource to 63 bits

Thomas Gleixner
2010-11-11T11:05:20Z

On Thu, 11 Nov 2010, Linus Walleij wrote:

> Thomas Gleixner wrote:
>
> > There is only one caveat. When nohz is on and you sleep longer than 16
> > seconds then the limitation we have in place does not work anymore, as
> > it would say that the long sleep time is less than the 63bit
> > wraparound time. With 32bit clocksource it limits the sleep correclty
> > to avoid the clocksource wrap issue.
>
> Hm! So the .mask has that side effect (as I suspected), and with
> this the sleep will be limited to what time you can get into 63 bits
> (2200 years). And we sure want NOHZ...
>
> But if I complement the solution with the keepwarm() timer from
> Orion doing just a dummy read() on the clocksource every say 15 secs
> it will work even if the system sleeps for so long.

Well, you don't need the keepwarm() timer, if you just call
sched_clock() in the idle wakeup path, so the magic in the NOHZ code
will ensure that you reread the thing timely.

Thanks,

tglx