From: "Jan Beulich" <jbeulich@novell.com>
To: xen-devel@lists.xensource.com
Subject: Re: PCI MSI questions
Date: Thu, 24 Jul 2008 09:22:54 +0100 [thread overview]
Message-ID: <488857FE.76E4.0078.0@novell.com> (raw)
In-Reply-To: <4888452A.76E4.0078.0@novell.com>
>>> "Jan Beulich" <jbeulich@novell.com> 24.07.08 09:02 >>>
>Looking at the MSI implementation I have a couple of questions:
>
>1) There currently seems to be a hidden requirement of NR_PIRQS in the
>kernel needing to be no smaller than NR_IRQS in the hypervisor.
>Otherwise, the pirq returned from PHYSDEVOP_map_pirq may collide
>with the dynamic IRQs in the kernel or even be out of range altogether.
>Therefore I think that NR_PIRQS has to become a variable defaulting
>to 256 but getting initialized from a hypervisor reported value (perhaps
>in start_info, or else from a new (sub-)hypercall).
>
>2) While pci_restore_msi_state() properly checks the success of
>msi_map_pirq_to_vector(), pci_restore_msix_state() doesn't. Is this
>for a reason, or just because the code would get more complex if the
>error needs to be handled?
>
>3) The type parameter of xc_physdev_map_pirq{,_msi}() seems
>superfluous, or is there any reason why these could be called with the
>respectively reversed types?
>
>4) The hypervisor option "msi_irq_enable" seems to be named pretty
>oddly - both the "irq" and the "enable" in the name are more or less
>redundant. So unless there's a reason for this long a name for an
>option that generally I would expect most people want to set (at
>least on bigger systems), I'd like to change it into "msi" or, if that's
>considered prone for ambiguity, "pci-msi". Also, are there any plans
>when to make have default be on rather than off?
5) Shouldn't most of the MSI/MSI-X capability structures be write-
protected even in permissive mode (which at once would suppress
the warning I'd expect from pciback_config_write() for HVM guests
which get an MSI capable device assigned)? Or shouldn't perhaps
writes of incorrect control/address/data values even render the
device non-functional? And shouldn't then reads return the values
written rather than the ones in hardware?
Jan
next prev parent reply other threads:[~2008-07-24 8:22 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-24 7:02 PCI MSI questions Jan Beulich
2008-07-24 7:20 ` Keir Fraser
2008-08-08 10:09 ` Jan Beulich
2008-08-08 10:18 ` Keir Fraser
2008-07-24 8:22 ` Jan Beulich [this message]
2008-07-24 8:39 ` Shan, Haitao
2008-07-24 9:39 ` Jan Beulich
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=488857FE.76E4.0078.0@novell.com \
--to=jbeulich@novell.com \
--cc=xen-devel@lists.xensource.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.