From: Paul Brook <paul@codesourcery.com>
To: Avi Kivity <avi@redhat.com>
Cc: qemu-devel@nongnu.org, Carsten Otte <cotte@de.ibm.com>,
kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
Rusty Russell <rusty@rustcorp.com.au>,
virtualization@lists.linux-foundation.org,
Christian Borntraeger <borntraeger@de.ibm.com>
Subject: Re: [Qemu-devel] [PATCH] qemu: msi irq allocation api
Date: Thu, 21 May 2009 16:01:30 +0100 [thread overview]
Message-ID: <200905211601.33164.paul@codesourcery.com> (raw)
In-Reply-To: <4A156B41.4090608@redhat.com>
On Thursday 21 May 2009, Avi Kivity wrote:
> Paul Brook wrote:
> >> kvm implements the APIC in the host kernel (qemu upstream doesn't
> >> support this yet). The fast path is wired to the in-kernel APIC, not
> >> the cpu core directly.
> >>
> >> The idea is to wire it to UIO for device assignment, to a virtio-device
> >> implemented in the kernel, and to qemu.
> >
> > I still don't see why you're trying to bypass straight from the pci layer
> > to the apic. Why can't you just pass the apic MMIO writes to the kernel?
> > You've presumably got to update the apic state anyway.
>
> The fast path is an eventfd so that we don't have to teach all the
> clients about the details of MSI. Userspace programs the MSI details
> into kvm and hands the client an eventfd. All the client has to do is
> bang on the eventfd for the interrupt to be queued. The eventfd
> provides event coalescing and is equally useful from the kernel and
> userspace, and can be used with targets other than kvm.
So presumably if a device triggers an APIC interrupt using a write that isn't
one of the currently configured PCI devices, it all explodes horribly?
Paul
next prev parent reply other threads:[~2009-05-21 15:01 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-20 16:21 [PATCH] qemu: msi irq allocation api Michael S. Tsirkin
2009-05-20 17:21 ` [Qemu-devel] " Blue Swirl
2009-05-20 17:32 ` Avi Kivity
2009-05-20 17:40 ` Blue Swirl
2009-05-20 17:40 ` Blue Swirl
2009-05-20 17:32 ` Avi Kivity
2009-05-20 17:35 ` Michael S. Tsirkin
2009-05-20 17:44 ` Blue Swirl
2009-05-20 18:24 ` Michael S. Tsirkin
2009-05-20 18:24 ` Michael S. Tsirkin
2009-05-20 18:28 ` Michael S. Tsirkin
2009-05-20 18:38 ` Blue Swirl
2009-05-20 18:38 ` Blue Swirl
2009-05-20 20:02 ` Michael S. Tsirkin
2009-05-20 20:02 ` Michael S. Tsirkin
2009-05-20 20:17 ` Michael S. Tsirkin
2009-05-20 20:26 ` Blue Swirl
2009-05-20 20:26 ` Blue Swirl
2009-05-20 20:33 ` Michael S. Tsirkin
2009-05-20 20:33 ` Michael S. Tsirkin
2009-05-20 20:44 ` Blue Swirl
2009-05-20 20:44 ` Blue Swirl
2009-05-21 9:24 ` Michael S. Tsirkin
2009-05-21 9:24 ` Michael S. Tsirkin
2009-05-20 20:17 ` Michael S. Tsirkin
2009-05-20 20:18 ` Blue Swirl
2009-05-20 20:29 ` Michael S. Tsirkin
2009-05-20 20:29 ` Michael S. Tsirkin
2009-05-20 20:18 ` Blue Swirl
2009-05-20 17:44 ` Blue Swirl
2009-05-20 17:35 ` Michael S. Tsirkin
2009-05-20 17:21 ` Blue Swirl
2009-05-21 10:09 ` Paul Brook
2009-05-21 10:23 ` Avi Kivity
2009-05-21 10:34 ` Paul Brook
2009-05-21 10:34 ` Paul Brook
2009-05-21 10:50 ` Michael S. Tsirkin
2009-05-21 10:50 ` Michael S. Tsirkin
2009-05-21 11:01 ` Avi Kivity
2009-05-21 12:01 ` Paul Brook
2009-05-21 12:08 ` Avi Kivity
2009-05-21 12:14 ` Michael S. Tsirkin
2009-05-21 12:14 ` Michael S. Tsirkin
2009-05-21 12:29 ` Paul Brook
2009-05-21 12:38 ` Avi Kivity
2009-05-21 12:38 ` Avi Kivity
2009-05-21 13:08 ` Michael S. Tsirkin
2009-05-21 13:08 ` Michael S. Tsirkin
2009-05-21 13:09 ` Paul Brook
2009-05-21 13:09 ` Paul Brook
2009-05-21 13:12 ` Michael S. Tsirkin
2009-05-21 13:12 ` Michael S. Tsirkin
2009-05-21 13:23 ` Paul Brook
2009-05-21 13:31 ` Paul Brook
2009-05-21 16:45 ` Michael S. Tsirkin
2009-05-21 17:33 ` Michael S. Tsirkin
2009-05-21 17:33 ` Michael S. Tsirkin
2009-05-21 16:45 ` Michael S. Tsirkin
2009-05-21 13:31 ` Paul Brook
2009-05-21 13:46 ` Michael S. Tsirkin
2009-05-21 13:46 ` Michael S. Tsirkin
2009-05-21 13:53 ` Paul Brook
2009-05-21 13:53 ` Paul Brook
2009-05-21 14:01 ` Avi Kivity
2009-05-21 14:14 ` [Qemu-devel] " Paul Brook
2009-05-21 14:37 ` Avi Kivity
2009-05-21 14:50 ` Paul Brook
2009-05-21 14:54 ` Avi Kivity
2009-05-21 14:54 ` Avi Kivity
2009-05-21 15:01 ` Paul Brook
2009-05-21 15:01 ` Paul Brook [this message]
2009-05-21 15:11 ` Avi Kivity
2009-05-21 15:11 ` Avi Kivity
2009-05-21 16:49 ` Michael S. Tsirkin
2009-05-21 16:49 ` Michael S. Tsirkin
2009-05-21 14:50 ` Paul Brook
2009-05-21 14:37 ` Avi Kivity
2009-05-21 14:14 ` Paul Brook
2009-05-21 14:01 ` Avi Kivity
2009-05-21 14:07 ` Michael S. Tsirkin
2009-05-24 11:14 ` Avi Kivity
2009-05-24 11:14 ` Avi Kivity
2009-05-21 14:07 ` Michael S. Tsirkin
2009-05-21 14:46 ` Michael S. Tsirkin
2009-05-21 14:46 ` Michael S. Tsirkin
2009-05-21 13:23 ` Paul Brook
2009-05-21 13:11 ` Michael S. Tsirkin
2009-05-21 13:11 ` Michael S. Tsirkin
2009-05-21 13:06 ` Michael S. Tsirkin
2009-05-21 13:06 ` Michael S. Tsirkin
2009-05-21 12:29 ` Paul Brook
2009-05-21 12:08 ` Avi Kivity
2009-05-21 12:01 ` Paul Brook
2009-05-21 11:01 ` Avi Kivity
2009-05-21 10:23 ` Avi Kivity
2009-05-21 10:09 ` Paul Brook
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=200905211601.33164.paul@codesourcery.com \
--to=paul@codesourcery.com \
--cc=avi@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=cotte@de.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rusty@rustcorp.com.au \
--cc=virtualization@lists.linux-foundation.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.