All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: "Thimo Eichstädt" <t.eichstaedt@digithi.de>
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	"Thimo E." <abc@digithi.de>, Keir Fraser <keir@xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: cpuidle and un-eoid interrupts at the local apic
Date: Mon, 9 Sep 2013 16:12:16 +0100	[thread overview]
Message-ID: <522DE550.6070403@citrix.com> (raw)
In-Reply-To: <522DDFBF.40709@digithi.de>

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

  reply	other threads:[~2013-09-09 15:12 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-31 20:32 cpuidle and un-eoid interrupts at the local apic Andrew Cooper
2013-06-03 14:30 ` Jan Beulich
2013-07-31  8:30 ` Thimo E.
2013-07-31  9:47   ` Andrew Cooper
2013-08-02 22:50     ` Thimo E.
2013-08-02 23:32       ` Andrew Cooper
2013-08-05 12:45         ` Jan Beulich
2013-08-05 14:51           ` Andrew Cooper
2013-08-09 21:27             ` Thimo E.
2013-08-09 21:40               ` Andrew Cooper
2013-08-09 21:44                 ` Andrew Cooper
2013-08-11 17:46                   ` Thimo E.
2013-08-12  6:02                     ` Zhang, Yang Z
2013-08-12  8:49                     ` Zhang, Yang Z
2013-08-12  8:57                       ` Jan Beulich
2013-08-12 11:52                       ` Thimo E
2013-08-12 12:04                         ` Andrew Cooper
2013-08-19 15:14                           ` Thimo E.
2013-08-20  5:43                             ` Thimo Eichstädt
2013-08-20  8:40                               ` Jan Beulich
2013-08-20  8:50                                 ` Zhang, Yang Z
2013-08-23  7:22                                   ` Thimo Eichstädt
2013-08-23  7:30                                     ` Zhang, Yang Z
2013-08-27  1:03                                     ` Zhang, Yang Z
2013-09-04 18:32                                       ` Thimo E.
2013-09-04 18:55                                         ` Andrew Cooper
2013-09-04 19:56                                           ` Thimo E.
2013-09-04 20:54                                             ` Andrew Cooper
2013-09-05  1:45                                               ` Zhang, Yang Z
2013-09-05  7:20                                                 ` Thimo E.
2013-09-05  1:15                                         ` Zhang, Yang Z
2013-09-17  2:09                                         ` Zhang, Yang Z
2013-09-17  7:39                                           ` Thimo E.
2013-09-17  7:43                                             ` Zhang, Yang Z
2013-09-17 21:04                                               ` Thimo E.
2013-09-18  1:18                                                 ` Zhang, Xiantao
2013-09-18 17:24                                                   ` Thimo E.
2013-09-18 12:06                                                 ` Andrew Cooper
2013-08-12 13:54                       ` Thimo E
2013-08-12 14:06                         ` Andrew Cooper
2013-08-13  1:43                           ` Zhang, Yang Z
2013-08-13  6:39                             ` Thimo E.
2013-08-13 11:39                         ` Wu, Feng
2013-08-13 12:46                           ` Andrew Cooper
2013-08-12  9:10                     ` Andrew Cooper
2013-08-12  5:50                 ` Zhang, Yang Z
2013-08-12  8:20               ` Jan Beulich
2013-08-12  9:28                 ` Andrew Cooper
2013-08-12 10:05                   ` Jan Beulich
2013-08-12 10:27                     ` Andrew Cooper
2013-08-14  2:53                       ` Zhang, Yang Z
2013-08-14  7:51                         ` Thimo E.
2013-08-14  9:52                         ` Andrew Cooper
2013-09-07 13:27                           ` Thimo E.
2013-09-07 17:02                             ` Andrew Cooper
2013-09-07 23:37                               ` Thimo E.
2013-09-08  9:53                                 ` Andrew Cooper
2013-09-08 10:24                                   ` Thimo E.
2013-09-09 13:16                                     ` Andrew Cooper
2013-09-09 14:48                                       ` Thimo Eichstädt
2013-09-09 15:12                                         ` Andrew Cooper [this message]
2013-09-09  7:59                               ` Jan Beulich
2013-09-09 12:53                                 ` Andrew Cooper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=522DE550.6070403@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=abc@digithi.de \
    --cc=keir@xen.org \
    --cc=t.eichstaedt@digithi.de \
    --cc=xen-devel@lists.xenproject.org \
    --cc=yang.z.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.