From: Avi Kivity <avi@redhat.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
"mtosatti@redhat.com" <mtosatti@redhat.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [RFC PATCH] kvm: Extend irqfd to support level interrupts
Date: Mon, 18 Jun 2012 17:33:34 +0300 [thread overview]
Message-ID: <4FDF3C3E.30000@redhat.com> (raw)
In-Reply-To: <1340029671.24037.218.camel@bling.home>
On 06/18/2012 05:27 PM, Alex Williamson wrote:
> On Mon, 2012-06-18 at 13:14 +0300, Avi Kivity wrote:
>> On 06/18/2012 01:11 PM, Michael S. Tsirkin wrote:
>>
>> >> (vhost,
>> >> msi-less ivshmem clone)?
>> >
>> > I guess vhost can poll eventfd and reinject an interrupt.
>> > Of course to bypass qemu completely we also need to support reads over
>> > ioeventfd somehow.
>> >
>>
>> eventfd is not suitable for level triggered interrupts as far as I can
>> tell. It's about passing edges, and level interrupts aren't. We need
>> something like a pipe for communicating state (or just use KVM_IRQ_LINE).
>
> Isn't level just two edges with a state in between? Sure we may be
> unnecessarily de-asserting for brief periods, but for an external
> assigned device, we don't know whether it's unnecessary. Thanks,
For an assigned device you have someone maintaining the state and keep
pushing you edges as long as it's up. So it's okay for you to keep
deasserting the interrupt as the device will fix it up for you. For an
emulated device, you don't, so it isn't.
btw, technically we're in the wrong here. An interrupt handler may read
the irr and see an incorrect value. Of course no one does that so we
can get away with it.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2012-06-18 14:33 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-16 16:34 [RFC PATCH] kvm: Extend irqfd to support level interrupts Alex Williamson
2012-06-17 11:17 ` Jan Kiszka
2012-06-17 18:44 ` Michael S. Tsirkin
2012-06-17 21:38 ` Alex Williamson
2012-06-17 22:15 ` Alex Williamson
2012-06-18 6:00 ` Michael S. Tsirkin
2012-06-18 14:00 ` Alex Williamson
2012-06-18 5:51 ` Michael S. Tsirkin
2012-06-18 14:06 ` Alex Williamson
2012-06-18 8:02 ` Avi Kivity
2012-06-18 8:52 ` Jan Kiszka
2012-06-18 9:33 ` Avi Kivity
2012-06-18 10:11 ` Michael S. Tsirkin
2012-06-18 10:14 ` Avi Kivity
2012-06-18 10:55 ` Michael S. Tsirkin
2012-06-18 11:03 ` Avi Kivity
2012-06-18 11:17 ` Michael S. Tsirkin
2012-06-18 14:32 ` Alex Williamson
2012-06-18 14:27 ` Alex Williamson
2012-06-18 14:33 ` Avi Kivity [this message]
2012-06-18 16:47 ` Alex Williamson
2012-06-18 14:23 ` Alex Williamson
2012-06-18 14:18 ` Alex Williamson
2012-06-18 14:35 ` 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=4FDF3C3E.30000@redhat.com \
--to=avi@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).