All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Jan Beulich <JBeulich@novell.com>
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Keir Fraser <keir.fraser@eu.citrix.com>
Subject: Re: Crash in __pirq_guest_eoi()
Date: Tue, 07 Sep 2010 09:57:10 +1000	[thread overview]
Message-ID: <4C857FD6.1060801@goop.org> (raw)
In-Reply-To: <4C84F4F70200007800014842@vpn.id2.novell.com>

 On 09/06/2010 10:04 PM, Jan Beulich wrote:
>  >>> On 03.09.10 at 20:33, Jeremy Fitzhardinge <jeremy@goop.org> wrote:
>> I'm seeing a crash in:
>>
>> static void __pirq_guest_eoi(struct domain *d, int pirq)
>> {
>>     struct irq_desc         *desc;
>>     irq_guest_action_t *action;
>>     cpumask_t           cpu_eoi_map;
>>     int                 irq;
>>
>>     ASSERT(local_irq_is_enabled());
>>     desc = domain_spin_lock_irq_desc(d, pirq, NULL);
>>     if ( desc == NULL )
>>         return;
>>
>>     action = (irq_guest_action_t *)desc->action;
>>     irq = desc - irq_desc;
>>
>>     if ( action->ack_type == ACKTYPE_NONE )
>>     {
>>
>> where action is NULL.
> Any more precise information on the conditions under which this
> happens? Like trying to EOI a bad pirq?

I'm not sure.  Part of the problem is that things are not working as I
expect, so I think my model of what's going on is wrong.

>> I'm playing around with the pvops kernel's handling of pirq interrupts,
>> so the kernel is probably misbehaving, but it would be nice if Xen
>> didn't keep crashing on me.
>>
>> I guess this is the right fix/workaround?
> No. You can't return without releasing the lock acquired a couple of
> lines earlier.

Right.  I saw the previous "return NULL" without thinking about the
locking aspects.

>  And it seems bogus in the first place that you could get
> there and find action being NULL, so it'd seem to be a workaround
> at best.

Yep.

    J

      reply	other threads:[~2010-09-06 23:57 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-03 18:33 Crash in __pirq_guest_eoi() Jeremy Fitzhardinge
2010-09-06 12:04 ` Jan Beulich
2010-09-06 23:57   ` Jeremy Fitzhardinge [this message]

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=4C857FD6.1060801@goop.org \
    --to=jeremy@goop.org \
    --cc=JBeulich@novell.com \
    --cc=Xen-devel@lists.xensource.com \
    --cc=keir.fraser@eu.citrix.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.