From: "Michael S. Tsirkin" <mst@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Paul Brook <paul@codesourcery.com>,
qemu-devel@nongnu.org, Carsten Otte <cotte@de.ibm.com>,
kvm@vger.kernel.org, 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:11:26 +0300 [thread overview]
Message-ID: <20090521131126.GG25309@redhat.com> (raw)
In-Reply-To: <4A154B60.4080701@redhat.com>
On Thu, May 21, 2009 at 03:38:56PM +0300, Avi Kivity wrote:
> Paul Brook wrote:
>>> Instead of writing directly, let's abstract it behind a qemu_set_irq().
>>> This is easier for device authors. The default implementation of the
>>> irq callback could write to apic memory, while for kvm we can directly
>>> trigger the interrupt via the kvm APIs.
>>>
>>
>> I'm still not convinced.
>>
>> A tight coupling between PCI devices and the APIC is just going to
>> cause us problems later one. I'm going to come back to the fact that
>> these are memory writes so once we get IOMMU support they will
>> presumably be subject to remapping by that, just like any other memory
>> access.
>>
>
> I'm not suggesting the qemu_irq will extend all the way to the apic.
> Think of it as connecting the device core with its interrupt unit.
>
>> Even ignoring that, qemu_irq isn't really the right interface. A MSI is a one-
>> off event, not a level state. OTOH stl_phys is exactly the right interface.
>>
>
> The qemu_irq callback should do an stl_phys().
Actually, it seems we can't do it this way now as stl_phys
only gets a 32 bit address. So I'll use apic_deliver for now,
but yes, it will be easy to later rewrite MSI implementation this way
if that limitatiuon is lifted.
> The device is happy
> since it's using the same API it uses for non-MSI. The APIC is happy
> since it isn't connected directly to the device. stl_phys() is happy
> since it sees more traffic and can serve more ads. kvm is happy since
> it can hijack the callback to throw the interrupt directly into the
> kernel.
>
>> The KVM interface should be contained within the APIC implementation.
>>
>
> Tricky, but doable.
>
> --
> error compiling committee.c: too many arguments to function
--
MST
next prev parent reply other threads:[~2009-05-21 13:14 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:21 ` 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 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 20:02 ` Michael S. Tsirkin
2009-05-20 20:17 ` 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-21 9:24 ` Michael S. Tsirkin
2009-05-21 9:24 ` Michael S. Tsirkin
2009-05-20 20:44 ` Blue Swirl
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 20:02 ` Michael S. Tsirkin
2009-05-20 18:38 ` Blue Swirl
2009-05-20 17:35 ` Michael S. Tsirkin
2009-05-21 10:09 ` Paul Brook
2009-05-21 10:09 ` Paul Brook
2009-05-21 10:23 ` Avi Kivity
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:29 ` Paul Brook
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: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:14 ` Paul Brook
2009-05-21 14:37 ` Avi Kivity
2009-05-21 14:37 ` Avi Kivity
2009-05-21 14:50 ` Paul Brook
2009-05-21 14:50 ` Paul Brook
2009-05-21 14:54 ` Avi Kivity
2009-05-21 15:01 ` Paul Brook
2009-05-21 15:11 ` Avi Kivity
2009-05-21 15:11 ` Avi Kivity
2009-05-21 15:01 ` Paul Brook
2009-05-21 14:54 ` Avi Kivity
2009-05-21 16:49 ` Michael S. Tsirkin
2009-05-21 16:49 ` Michael S. Tsirkin
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:09 ` Paul Brook
2009-05-21 13:11 ` Michael S. Tsirkin [this message]
2009-05-21 13:11 ` Michael S. Tsirkin
2009-05-21 12:38 ` Avi Kivity
2009-05-21 13:06 ` Michael S. Tsirkin
2009-05-21 13:06 ` Michael S. Tsirkin
2009-05-21 12:08 ` Avi Kivity
2009-05-21 12:01 ` Paul Brook
2009-05-21 11:01 ` Avi Kivity
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=20090521131126.GG25309@redhat.com \
--to=mst@redhat.com \
--cc=avi@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=cotte@de.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=paul@codesourcery.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.