All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: "Håkon Alstadheim" <hakon@alstadheim.priv.no>, xen-devel@lists.xen.org
Subject: Re: [BUG] Assertion '(sp == 0) || (peoi[sp-1].vector < vector)' failed at irq.c:1163
Date: Fri, 22 Jan 2016 09:20:17 +0000	[thread overview]
Message-ID: <56A1F451.4000105@citrix.com> (raw)
In-Reply-To: <56A1EF08.5050702@alstadheim.priv.no>

On 22/01/2016 08:57, Håkon Alstadheim wrote:
> Den 17. jan. 2016 16:25, skrev Andrew Cooper:
>> On 17/01/16 15:16, Andrew Cooper wrote:
>>>>> This isn't the first time we have seen this on Haswell processors. Do
>>>>> you have microcode loading set up?
>>>>>
>>>>> ~Andrew
>>>>>
>>>> Still happening with kernel-genkernel-x86_64-4.1.15-gentoo and updated
>>>> cpu microcode, using microcode from 20151106.
> ...
>>>> Actually, this will be more useful:
>>>>
>>>> diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
>>>> index 1228568..4e75b03 100644
>>>> --- a/xen/arch/x86/irq.c
>>>> +++ b/xen/arch/x86/irq.c
>>>> @@ -1165,6 +1165,15 @@ static void __do_IRQ_guest(int irq)
>>>>      if ( action->ack_type == ACKTYPE_EOI )
>>>>      {
>>>>          sp = pending_eoi_sp(peoi);
>>>> +        if ( unlikely(!((sp == 0) || (peoi[sp-1].vector < vector))) )
>>>> +        {
>>>> +            int p;
>>>> +
>>>> +            printk("** sp %d, irq %d, vec %#x\n", sp, irq, vector);
>>>> +            for ( p = sp; p > 0; --p )
>>>> +                printk("**peoi[%d] = {%d, %#x, %d}\n",
>>>> +                       p-1, peoi[p-1].irq, peoi[p-1].vector,
>>>> peoi[p-1].ready);
>>>> +        }
>>>>          ASSERT((sp == 0) || (peoi[sp-1].vector < vector));
>>>>          ASSERT(sp < (NR_DYNAMIC_VECTORS-1));
>>>>          peoi[sp].irq = irq;
>>>>
>>>>
>>>>
> Got one again. dom5 is my desktop, dom1 is my
> mail-server/router/firewall. (planning to split that up ... ) . Is there
> any additional info that would be useful?
>
> Running now with gentoo xen 4.6.0-r8 and xen-tools 4.6.0-r7. dom0 kernel
> is gentoo-sources-4.1.15-r1 , and the above patch.
>
> I tried running with maxcpus=6 for a while, but I had to disable some
> services to get that running. So, when nothing happened for a while I
> re-enabled all my cores (two cpus, 12 cores, 24 threads). I was running
> with two cpu-pools, one for each cpu. I have not re-enabled that.

grant_table.c:1491:d1v3 Expanding dom (1) grant table from (12) to (13)
frames.
** sp 1, irq 107, vec 0x3b
**peoi[0] = {107, 0x3b, 0}
Assertion '(sp == 0) || (peoi[sp-1].vector < vector)' failed at irq.c:1172
----[ Xen-4.6.0  x86_64  debug=y  Tainted:    C ]----
<snip>
Xen call trace:
   [<ffff82d080170205>] do_IRQ+0x451/0x6ea
   [<ffff82d08023b132>] common_interrupt+0x62/0x70
   [<ffff82d0801af1ea>] mwait_idle+0x2cb/0x315
   [<ffff82d0801607bc>] idle_loop+0x51/0x6b

So we have been interrupted with an interrupt we already believe to be
pending.  I wonder if there is an erratum to do with going to sleep with
a pending interrupt.

I will see about extending the debugging patch to stash the IIR/ISR
before going to sleep.

~Andrew

  reply	other threads:[~2016-01-22  9:20 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-15 10:58 [BUG] Assertion '(sp == 0) || (peoi[sp-1].vector < vector)' failed at irq.c:1163 Håkon Alstadheim
2016-01-15 11:05 ` Andrew Cooper
2016-01-15 12:32   ` Håkon Alstadheim
2016-01-15 12:42     ` Jan Beulich
2016-01-15 12:49       ` Håkon Alstadheim
2016-01-15 13:09         ` Ian Campbell
2016-01-15 13:20           ` Håkon Alstadheim
2016-01-15 14:34         ` Håkon Alstadheim
2016-01-17 14:50   ` Håkon Alstadheim
2016-01-17 15:16     ` Andrew Cooper
2016-01-17 15:25       ` Andrew Cooper
2016-01-22  8:57         ` Håkon Alstadheim
2016-01-22  9:20           ` Andrew Cooper [this message]
2016-01-22 10:06             ` Jan Beulich
2016-01-17 16:30       ` Håkon Alstadheim
2016-01-17 23:07         ` Håkon Alstadheim
2016-01-17 23:12           ` Andrew Cooper
2016-01-18 10:31           ` Jan Beulich
2016-01-18 10:35             ` Andrew Cooper
2016-01-18 10:54               ` Jan Beulich
2016-01-18 16:35             ` Håkon Alstadheim

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=56A1F451.4000105@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=hakon@alstadheim.priv.no \
    --cc=xen-devel@lists.xen.org \
    /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.