Messages in this thread | | | Date | Mon, 7 Dec 2009 18:05:02 -0800 | Subject | Re: timer interrupt stucks using tickless kernel | From | john stultz <> |
| |
On Mon, Dec 7, 2009 at 5:33 PM, Ioannis Kyriakopoulos <johnkyr83@hotmail.com> wrote: > Thanks for the valuable help so far. > >>> 2. When performing cat proc/interrupts, I see that: >>> 0: 157 IO-APIC-edge timer >>> How the system timer is attached on IO-APIC at the time that the >>> IO-APIC >>> is disabled on kernel configurations? Basically, the timer is not the >>> only >>> peripheral attached to IO-APIC as can be seen by /proc/interrupts. >>> >>> Here is the output of /proc/interrupts : >>> >>> CPU0 >>> 0: 157 IO-APIC-edge timer >>> 1: 2 IO-APIC-edge i8042 >>> 4: 544 IO-APIC-edge serial >>> 8: 1 IO-APIC-edge rtc0 >>> 9: 0 IO-APIC-fasteoi acpi >>> 12: 4 IO-APIC-edge i8042 >>> 14: 4 IO-APIC-edge ata_piix >>> 15: 0 IO-APIC-edge ata_piix >>> 16: 0 IO-APIC-fasteoi uhci_hcd:usb5 >>> 18: 0 IO-APIC-fasteoi uhci_hcd:usb4 >>> 19: 45 IO-APIC-fasteoi ata_piix, uhci_hcd:usb3 >>> 22: 149 IO-APIC-fasteoi HDA Intel >>> 23: 72 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb2 >>> 27: 0 PCI-MSI-edge eth0 >>> NMI: 0 Non-maskable interrupts >>> LOC: 1865130 Local timer interrupts >> ^^^ >>This value should be incrementing at HZ freq. > > Are you sure about that? ASAIK the Local timer interrupts (generated > by the LAPIC timer) are only used for timekeeping.
Actually local timer interrupts are more often used for per-cpu scheduler ticks (as well as running per-cpu timers). Timekeeping is done from only one cpu (usually 0, but that varies depending on hotplug, etc).
> The system tick is > generated by IRQ0 which in my second configuration should be triggered > by HPET (because I have enabled the HPET timer support).
System tick?
> Also, if the > interrupts generated by LAPIC are incremented at HZ freq, why the > interrupts generated by the timer (IRQ0) not happen at the same frequency > as well?
Why take two interrupts when you could only take one?
> Furthermore, we don't have an answer on why IO-APIC is used at the time > that it is disabled on kernel configurations. The fact that I have enabled > LAPIC timer support doesn't justify the use of the IO-APIC controller > by each own.
Honestly, I dunno on the details there. If CONFIG_X86_IO_APIC=n, it looks like you should not be seeing the IO-APIC-* names in /proc/interrupts. Are you sure your booting the right kernel, or CONFIG_X86_IO_APIC is actally on in your .config?
>>Is there something your actually having problems with here? Ignoring >>which interrupt line is used for the timer event, the system is >>functioning properly, right? > > Yes, apart from that, everything is working OK but it's really important > for me to get an answer on these issues.
Ok. I hope these aren't homework questions :)
thanks -john -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |