From: Avi Kivity <avi@redhat.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: mtosatti@redhat.com, kvm@vger.kernel.org, mst@redhat.com,
jan.kiszka@siemens.com
Subject: Re: [RFC PATCH] kvm: Extend irqfd to support level interrupts
Date: Mon, 18 Jun 2012 17:35:59 +0300 [thread overview]
Message-ID: <4FDF3CCF.5030307@redhat.com> (raw)
In-Reply-To: <1340029103.24037.209.camel@bling.home>
On 06/18/2012 05:18 PM, Alex Williamson wrote:
>>
>> I don't understand how this works. A level IRQ isn't de-asserted by the
>> EOI, it's de-asserted by its source.
>>
>> Consider the following sequence:
>>
>> device guest
>>
>> event
>> assert
>> interrupt
>> interrupt handler
>> handle event
>> clear ISR bit
>> deassert
>> event
>> assert
>> EOI
>>
>> What should happen is that the interrupt will be redelivered
>> immmediately after the EOI, but that won't happen with your API since
>> the EOI ack notifier will deassert the interrupt and nothing will
>> re-assert it.
>
> A device that can de-assert it's own interrupt based on register/config
> access probably isn't going to subscribe to this interface. Such a
> device already has much greater visibility of it's service needs. In
> the case where we have external devices, they'll reassert the interrupt,
> which is part of this api that will need to be documented.
>
> Comparing this to real hardware, an eoi causes the ioapic to reassert
> the interrupt if any of it's inputs are still active. Here we
> preemptively de-assert our interrupt and require the user of the
> interface to re-assert. Thanks,
Okay. I guess this limits it assigned devices (which is fine, it just
needs to be documented clearly).
--
error compiling committee.c: too many arguments to function
prev parent reply other threads:[~2012-06-18 14:36 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
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 [this message]
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=4FDF3CCF.5030307@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).