All of lore.kernel.org
 help / color / mirror / Atom feed
* PCI MSI questions
@ 2008-07-24  7:02 Jan Beulich
  2008-07-24  7:20 ` Keir Fraser
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Jan Beulich @ 2008-07-24  7:02 UTC (permalink / raw)
  To: xen-devel

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?

Thanks, Jan

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-08-08 10:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2008-07-24  8:39 ` Shan, Haitao
2008-07-24  9:39   ` Jan Beulich

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.