All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: sparclinux@vger.kernel.org
Subject: Re: interrupt problem with multiple vnet devices
Date: Wed, 29 Apr 2009 22:04:08 +0000	[thread overview]
Message-ID: <20090429.150408.80765835.davem@davemloft.net> (raw)
In-Reply-To: <200904292141.n3TLfmn16267@elf.torek.net>

From: Chris Torek <chris.torek@windriver.com>
Date: Wed, 29 Apr 2009 15:41:48 -0600

> When configured this way, Linux does not boot properly, as
> it winds up perpetually servicing vnet interrupts.
> 
> The fix he sent me is below, but I am very suspicious about
> this as it essentially removes the linked-list of buckets
> that the irq code runs.
> 
> I think the real problem is that, when multiple vnet devices are
> on the same vswitch, the interrupts get re-enabled "too soon" so
> that the sun4v_ivec.S code ends up making the linked list become
> circular (by queueing work for a vnet cookie that is already queued).

Older versions of the hypervisor have a bug in it's LDOM code
wherein interrupt vectors from virtual devices can be sent
twice before an intervening CLEAR event.

But we should be working around that properly.  This check in
sun4v_irq_eoi() and sun4v_virq_eoi():

	if (unlikely(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS)))
		return;

Should prevent any problems due to that bug.

  reply	other threads:[~2009-04-29 22:04 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-29 21:41 interrupt problem with multiple vnet devices Chris Torek
2009-04-29 22:04 ` David Miller [this message]
2009-04-29 22:52 ` David Miller
2009-04-30  0:06 ` Chris Torek
2009-04-30  0:18 ` David Miller

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=20090429.150408.80765835.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=sparclinux@vger.kernel.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.