From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965388AbZLHCE6 (ORCPT ); Mon, 7 Dec 2009 21:04:58 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S935172AbZLHCE5 (ORCPT ); Mon, 7 Dec 2009 21:04:57 -0500 Received: from mail-pw0-f42.google.com ([209.85.160.42]:43237 "EHLO mail-pw0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934933AbZLHCE4 convert rfc822-to-8bit (ORCPT ); Mon, 7 Dec 2009 21:04:56 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=L5ZnLpneZO4VjHwP+0uUwPpICgBhfJ1rrCrRtRYJ7eAD0zEgnB0yQcpA3Xhpn+ShPd PIG1jcdPL28dviHXObJ5MjXHd+WYwb3mQKpRZzil6jQkO3LtFfMHjdk0PmjZivKcXFpb wh9hkbl6XKE/EIqRENFBv0PV44EbZWjLR6qTk= MIME-Version: 1.0 In-Reply-To: References: <1f1b08da0912071330i35808790r554f7a3a8d712ca7@mail.gmail.com> <1260232212.6255.33.camel@localhost.localdomain> Date: Mon, 7 Dec 2009 18:05:02 -0800 X-Google-Sender-Auth: d1507e8fd5394cd0 Message-ID: <1f1b08da0912071805m7bbd65cdhfcf9284379bbe23c@mail.gmail.com> Subject: Re: timer interrupt stucks using tickless kernel From: john stultz To: Ioannis Kyriakopoulos Cc: linux-kernel@vger.kernel.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Dec 7, 2009 at 5:33 PM, Ioannis Kyriakopoulos 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