[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] cpuidle and un-eoid interrupts at the local apic



On 09/09/13 15:48, Thimo Eichstädt wrote:
> 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:

Given the nature of the problem, I am not surprised in the slightest
that there are spurious interrupts.

>
> [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.

Line level interrupts are shared between multiple pieces of hardware,
leading to the possibility that no device driver claims the interrupt
(which is when the interrupt is declared as spurious)

>
> 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.

I suspect that this is a red herring.  It looks like a generic error
path for both legacy interrupts and msi interrupts.

Furthermore, dom0's interrupt handling is rather different under Xen,
not least as the event channel mechanism essentially serialises the
delivery of interrupts.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.