All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Thimo E." <abc@digithi.de>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Keir Fraser <keir@xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: cpuidle and un-eoid interrupts at the local apic
Date: Sun, 08 Sep 2013 01:37:34 +0200	[thread overview]
Message-ID: <522BB8BE.8060800@digithi.de> (raw)
In-Reply-To: <522B5C1A.1050100@citrix.com>

Hello Andrew,

ok, thanks. This is what I assumed.

The output of "xl debug-keys iMQ" is empty.

[root@localhost ~]#  dmesg |grep arcmsr
[    8.159321] arcmsr 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> 
IRQ 16
[    8.159413] arcmsr 0000:01:00.0: setting latency timer to 64
[    8.170316] arcmsr 0000:01:00.0: get owner: 7ff0
[    8.170414] arcmsr 0000:01:00.0: irq 1276 (276) for MSI/MSI-X
[    8.170421] IRQ 1276/arcmsr: IRQF_DISABLED is not guaranteed on 
shared IRQs
[    8.170654] arcmsr0: msi enabled

[root@localhost /]# cat /proc/irq/1276/spurious
count 61007
unhandled 8
last_unhandled 36736990 ms

arcmsr is the driver of the Areca Storage Raid Controller. Used it 
already before with Xenserver 6.0.2 for years, no problems.

THe messages "IRQF_DISABLED is not guaranteed...." and "8 unhandled 
interrupts" look interesting. I am not a kernel hacker but what I 
interpret from 
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;

--> "IRQF_DISABLED is not guaranteed on shared IRQs" warning is only 
printed when irqflags IRQF_SHARED and IRQF_DISABLED are set
--> Is that what we see in the kernel oops the stack overflow the 
comment in lines 738-742 is talking about ?!
--> IRQF_SHARED is set, so MSI interrupt 1276 is shared ?! I thought 
that it is not possible that MSI interrupts are shared. Attached you'll 
see my /proc/interrupts

So what I do now is disabling MSI for the arcmsr driver. Could this be 
the source of the problem ?! But why is 1276 shared ?!

Best regards
   Thimo

Am 07.09.2013 19:02, schrieb Andrew Cooper:
>
> irq 29 is just an internal Xen number for accounting all interrupts.  It
> doesn't mean anything specific regarding hardware etc.  The vector and
> affinity would expect to change as dom0s vcpus are moved around by the
> scheduler.
>
> domain-list=0 means that this interrupt is targeted at dom0 (It is a
> list because certain interrupts have to be shared my more than 1
> domain).  Helpfully, the keyhandler truncates the pirq field, so 276 is
> unlikely to be correct.  As it is a dom0 MSI, I am guessing it actually
> matches up with interrupt 1276 in /proc/interrupts, if there is one.
>
> Can you provide the results of `xl debug-keys iMQ`, and attach
> /proc/interrupts to this email (just in case the setup has changed after
> playing with your BIOS)
>
> ~Andrew
>

  reply	other threads:[~2013-09-07 23:38 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. [this message]
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
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=522BB8BE.8060800@digithi.de \
    --to=abc@digithi.de \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=keir@xen.org \
    --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.