Re: [Qemu-devel] [PATCH] qemu: msi irq allocation api

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/20/09, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
> On Wed, May 20, 2009 at 11:02:24PM +0300, Michael S. Tsirkin wrote:
>  > On Wed, May 20, 2009 at 09:38:58PM +0300, Blue Swirl wrote:
>  > > On 5/20/09, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
>  > > > On Wed, May 20, 2009 at 08:44:31PM +0300, Blue Swirl wrote:
>  > > >  > On 5/20/09, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
>  > > >  > > On Wed, May 20, 2009 at 08:21:01PM +0300, Blue Swirl wrote:
>  > > >  > >  > On 5/20/09, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
>  > > >  > >  > > define api for allocating/setting up msi-x irqs, and for updating them
>  > > >  > >  > >  with msi-x vector information, supply implementation in ioapic. Please
>  > > >  > >  > >  comment on this API: I intend to port my msi-x patch to work on top of
>  > > >  > >  > >  it.
>  > > >  > >  > >
>  > > >  > >  > >  Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
>  > > >  > >  >
>  > > >  > >  > Sparc64 also uses packets ("mondos", not implemented yet) for
>  > > >  > >  > interrupt vector data, there the packet size is 8 * 64 bits.
>  > > >  > >  > I think we should aim for a more generic API that covers this case also.
>  > > >  > >
>  > > >  > >
>  > > >  > > Are you sure this is a good idea? MSI is tied to PCI, and PCI only has
>  > > >  > >  MSI, not "mondos". What code would benefit from this abstraction?
>  > > >  >
>  > > >  > Sparc64 emulation, of course. I think also the API would be neater.
>  > > >
>  > > >
>  > > > Since "mondos" are not interrupts, why use irqs for them?
>  > >
>  > > I just said above that they are used for interrupt vector data. What
>  > > makes you think they are not interrupts?
>  >
>  > I'm sorry, I don't really know anything about sparc.
>  > All I am saying is that in PCI, interrupts never pass data,
>  > so qemu_set_irq as it is now, is a good API to send them.
>  >
>  > For the sparc feature you describe, you probably want to add
>  > a message data parameter to qemu_set_irq, but it's not
>  > really useful for MSI.
>
>
> Just to clarify, the main difference is that with MSI/MSI-X
>  both data and address fields are mostly static, modifying them
>  involves ioapic and device updates which might be an expensive
>  operation (e.g. with kvm, needs an extra system call).
>
>  So I don't think it makes sense to pass MSI-X data field
>  with each call to qemu_set_irq.

No, but I think the Sparc situation is the same, the packet data is
static for the interrupt source in question.
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization

[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux