From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?Thimo_Eichst=E4dt?= Subject: Re: cpuidle and un-eoid interrupts at the local apic Date: Mon, 09 Sep 2013 16:48:31 +0200 Message-ID: <522DDFBF.40709@digithi.de> References: <51A908CA.7050604@citrix.com><51F8CB15.1070608@digithi.de><51F8DD40.2090207@citrix.com><51FC37A9.9090809@digithi.de><51FC418D.8020708@citrix.com><51FFBA8502000078000E9462@nat28.tlf.novell.com><51FFBC08.6070804@citrix.com><52055EC9.8030207@digithi.de><5208B6DE02000078000EB08E@nat28.tlf.novell.com><5208AACF.7050901@citrix.com><5208CF9702000078000EB1F2@nat28.tlf.novell.com><5208B88F.1030002@citrix.com><520B5345.4000508@citrix.com> <522B29BC.3010003@digithi.de> <522B5C1A.1050100@citrix.com> <522BB8BE.8060800@digithi.de> <522C491B.6000004@citrix.com> <522C5050.9030508@digithi.de> <522DCA18.3030607@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1VJ2lk-0007Oj-De for xen-devel@lists.xenproject.org; Mon, 09 Sep 2013 14:48:48 +0000 In-Reply-To: <522DCA18.3030607@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Andrew Cooper Cc: "Zhang, Yang Z" , xen-devel , "Thimo E." , Keir Fraser , Jan Beulich List-Id: xen-devel@lists.xenproject.org Hello Andrew, I've disabled MSI on that controller, now it is running with level triggered IRQs. No crash so far with these settings. But what I see are a lot of spurious interrupts for every type of IRQ on my machine, Here an example: [root@localhost /]# cat /proc/irq/1276/spurious count 61007 unhandled 0 last_unhandled 36736990 ms I can see this for the ethernet irqs, usb, sata and so on. I've already written it into another mail on Sunday: >http://lxr.free-electrons.com/source/kernel/irq/manage.c?v=2.6.32: >1025 if ((irqflags & (IRQF_SHARED|IRQF_DISABLED)) == >1026 (IRQF_SHARED|IRQF_DISABLED)) { >1027 pr_warning( >1028 "IRQ %d/%s: IRQF_DISABLED is not guaranteed on >shared IRQs\n", >1029 irq, devname); >... >738 * Force MSI interrupts to run with interrupts >739 * disabled. The multi vector cards can cause stack >740 * overflows due to nested interrupts when enough of >741 * them are directed to a core and fire at the same >742 * time. >743 */ >744 if (desc->msi_desc) >745 new->flags |= IRQF_DISABLED; --> When using MSI on the SATA controller the kernel indicates me that IRQF_SHARED for that interrupt is set, so the MSI is shared ?! I thought that it is not possible that MSI interrupts are shared. --> Is that what we see in the kernel oops the stack overflow the comment in lines 738-742 is talking about ?! Espacially because the warning in 1028 tells me that IRQF_DISABLED might not be set on shared interrupts. Am 09.09.2013 15:16, schrieb Andrew Cooper: > So in this case, irq29 is now your SATA controller. > > I presume you are still falling over the same basic assertion for the > pending EOI stack? > > ~Andrew >