Re: NO_HZ: timer interrupt stuck

Thomas Gleixner
2007-02-22T17:34:11Z

On Thu, 2007-02-22 at 09:26 -0800, David Miller wrote:
> BTW, I'm adding support for sparc64, and before I get much further
> will the code handle a oneshot-only device? That's basically what I
> have (sparc64 basically has a TSC and a "comparison" register, you
> write the "comparison" register with the TSC value at which you'd like
> the timer interrupt to occur, so it's one-shot and you have to write
> it again to get the next timer).

Yes, all you need is to omit the CLOCK_EVT_FEAT_PERIODIC flag when you
register your device.

> I see logic in the generic code to do periodic events when the
> timer only provides one-shot ticks. But as far as I can tell
> both the HPET and the local APIC support periodic timers so
> I can't tell how much testing that code has gotten :-)

Not much :)

> I, in fact, don't see any clockevent device in the current tree that
> does not set CLOCK_EVT_FEAT_PERIODIC.

There is an ARM patch which makes use of it.

> I guess you could clear that bit just to test those generic code
> paths. :-)

yep.

> BTW, sparc64 always did the trick where the do_timer() work was done
> by one of the per-cpu local timer interrupts, I'm glad the idea gained
> traction generically. :-)))

:)

tglx