From: "Michael S. Tsirkin" <mst@redhat.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: avi@redhat.com, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org, jan.kiszka@siemens.com
Subject: Re: [PATCH 4/4][RFC] kvm: eoi_eventfd
Date: Sun, 24 Jun 2012 11:24:51 +0300 [thread overview]
Message-ID: <20120624082451.GA1712@redhat.com> (raw)
In-Reply-To: <20120622221626.9858.33817.stgit@bling.home>
On Fri, Jun 22, 2012 at 04:16:53PM -0600, Alex Williamson wrote:
> I think we're probably also going to need something like this.
> When running in non-accelerated qemu, we're going to have to
> create some kind of EOI notifier for drivers. VFIO can make
> additional improvements when running on KVM so it will probably
> make use of the KVM_IRQFD_LEVEL_EOI interface, but we don't
> want to have a generic EOI notifier in qemu that just stops
> working when kvm-ioapic is enabled. This is just a simple way
> to register an eventfd using the existing KVM ack notifier.
> I tried combining the ack notifier of the LEVEL_EOI interface
> into this one, but it didn't work out well. The code complexity
> goes up a lot.
>
> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
> ---
>
> Documentation/virtual/kvm/api.txt | 14 ++++++
> arch/x86/kvm/x86.c | 1
> include/linux/kvm.h | 12 +++++
> include/linux/kvm_host.h | 7 +++
> virt/kvm/eventfd.c | 89 +++++++++++++++++++++++++++++++++++++
> virt/kvm/kvm_main.c | 9 ++++
> 6 files changed, 132 insertions(+)
>
> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
> index 2f8a0aa..69b1747 100644
> --- a/Documentation/virtual/kvm/api.txt
> +++ b/Documentation/virtual/kvm/api.txt
> @@ -1998,6 +1998,20 @@ matched using kvm_irqfd.fd, kvm_irqfd.gsi, and kvm_irqfd.fd2.
> De-assigning automatically de-asserts the interrupt line setup through
> this interface.
>
> +4.77 KVM_EOI_EVENTFD
> +
> +Capability: KVM_CAP_EOI_EVENTFD
> +Architectures: x86
> +Type: vm ioctl
> +Parameters: struct kvm_eoi_eventfd (in)
> +Returns: 0 on success, -1 on error
> +
> +This interface allows userspace to be notified through an eventfd for
> +EOI writes to the in-kernel irqchip. kvm_eoi_eventfd.fd specifies
> +the eventfd to signal on EOI to kvm_eoi_eventfd.gsi. To disable,
> +use KVM_EOI_EVENTFD_FLAG_DEASSIGN and specify both the original fd
> +and gsi.
> +
> 5. The kvm_run structure
> ------------------------
>
The patch looks like it only works for ioapic IRQs. I think it's a good
idea to explicitly limit this to level interrupts, straight away:
there's no reason for userspace to need an exit on an edge interrupt.
I also suggest we put LEVEL somewhere in the name.
With this eventfd, do we also need the fd2 parameter in the irqfd
structure? It seems to be used for the same thing ...
--
MST
next prev parent reply other threads:[~2012-06-24 8:24 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-22 22:15 [PATCH 0/4] kvm: level triggered irqfd support Alex Williamson
2012-06-22 22:15 ` [PATCH 1/4] kvm: Pass kvm_irqfd to functions Alex Williamson
2012-06-22 22:15 ` [PATCH 2/4] kvm: Add missing KVM_IRQFD API documentation Alex Williamson
2012-06-24 8:34 ` Michael S. Tsirkin
2012-06-24 14:56 ` Alex Williamson
2012-06-24 15:46 ` Michael S. Tsirkin
2012-06-22 22:16 ` [PATCH 3/4] kvm: Extend irqfd to support level interrupts Alex Williamson
2012-06-24 8:28 ` Michael S. Tsirkin
2012-06-24 14:50 ` Alex Williamson
2012-06-24 15:45 ` Michael S. Tsirkin
2012-06-24 21:52 ` Alex Williamson
2012-06-24 10:29 ` Avi Kivity
2012-06-24 15:18 ` Alex Williamson
2012-06-24 15:49 ` Michael S. Tsirkin
2012-06-24 21:59 ` Alex Williamson
2012-06-24 23:02 ` Michael S. Tsirkin
2012-06-25 16:17 ` Alex Williamson
2012-06-25 20:13 ` Michael S. Tsirkin
2012-06-25 19:29 ` Alex Williamson
2012-06-22 22:16 ` [PATCH 4/4][RFC] kvm: eoi_eventfd Alex Williamson
2012-06-24 8:24 ` Michael S. Tsirkin [this message]
2012-06-24 14:47 ` Alex Williamson
2012-06-24 15:40 ` Michael S. Tsirkin
2012-06-24 21:50 ` Alex Williamson
2012-06-24 22:35 ` Michael S. Tsirkin
2012-06-25 16:09 ` Alex Williamson
2012-06-25 20:12 ` Michael S. Tsirkin
2012-06-24 12:56 ` Avi Kivity
2012-06-24 15:02 ` Alex Williamson
2012-06-28 16:27 ` Avi Kivity
2012-06-28 17:21 ` Alex Williamson
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=20120624082451.GA1712@redhat.com \
--to=mst@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=avi@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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 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).