On Tue, 2009-12-08 at 00:18 +0000, Ioannis Kyriakopoulos wrote:> >> I have configured my kernel (2.6.31.6) so that I get periodic ticks from> >> the timer interrupt (i.e. tickless is not configured) with a rate> determined> >> by the HZ value. I've also checked the "high resolution timer support"> >> and also SMP support. The posblem is that the timer is getting> incremented> >> very slowly (way slower than the HZ value), just like it would be if the> >> kernel was tickless. Is there an explanation for that? How can I get> >> periodic> >> timer ticks?> >> AFAI understand, the HPET timer is used through the IO-APIC controller to> >> trigger the processors (N.B. if the "High Resolution Timer Support"> option> >> wasn't checked, the timer used would be PIT, right?) and each> processor's> >> LAPIC timer is used for time keeping. Please correct me if I am wrong.> >> >Not quite, if High Resolution Timers support was disabled, you would> >still use the HPET hardware instead of the pit, but you'd stay in> >periodic mode. However, since you have Highres Timers on, the system> >is using oneshot mode (which is necessary to trigger interrupts faster> >then HZ), and likely has chosen the LAPIC timer as the interrupt> >source.> >> >In this case, the timer tick becomes an hrt event, that triggers every> >HZ, instead of being caused by a periodic interrupt.> > OK, so I configured the kernel as follows, expecting to have periodic > interrupts by the HPET timer using the PIC controller using only a single> processor (UP configuration). > > Unselected: > Tickless System (Dynamic Ticks)> High Resolution Timer Support > Symmetric multi-processing support > IO-APIC support on uniprocessors (NEW)> > Selected: > Local APIC support on uniprocessors> HPET timer support> > However, when I ran /proc/interrupts, I noticed many weird things:> 1. The timer is still not getting incremented at a rate determined by> HZ.

Right, the system has switched to using the local apic instead of thePIT or HPET (connected to irq0).