From: Jan Kiszka <jan.kiszka@siemens.com>
To: Avi Kivity <avi@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Cc: qemu-devel <qemu-devel@nongnu.org>,
kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>
Subject: [Qemu-devel] [RFC][PATCH 00/11] uq/master: irqfd-based interrupt injection for virtio/vhost
Date: Mon, 14 May 2012 18:07:27 -0300 [thread overview]
Message-ID: <cover.1337029654.git.jan.kiszka@siemens.com> (raw)
This series is another major milestone of merging qemu-kvm into
upstream. It implements the required interfaces and logic to directly
inject MSI-X interrupts generated by the vhost-net kernel module into
the KVM in-kernel irqchip. This involves
- establishing MSI vector notifiers, so far triggered on relevant MSI-X
configuration changes of subscribed PCI devices
- support for static vIRQ-to-MSI routes
- an API for linking an IRQFD with such a vIRQ
- the usage of these services in virtio-pci to enable direct injection
The series also contains some smaller refactorings of the KVM IRQ
routing API such as automatic committing of route changes. It applies on
top of the KVM MSI support series [1] posted recently. The complete
stack is available at
git://git.kiszka.org/qemu-kvm.git queues/kvm-msi-irqfd
If the proposes API is acceptable, I will also provide some morphing
patches for qemu-kvm to make the merge of both trees smoother.
After this series, to only reasons to still use qemu-kvm for production
purposes will be PCI device assignment and potential dependencies on
legacy command line switches as well as vmstate formats (when requiring
backward migration support). However, the majority of users should be
able to switch to upstream QEMU seamlessly and finally receive the same
level of performance on x86.
[1] http://thread.gmane.org/gmane.comp.emulators.kvm.devel/90651
Jan Kiszka (11):
msix: Factor out msix_get_message
msix: Invoke msix_handle_mask_update on msix_mask_all
msix: Introduce vector notifiers
kvm: Rename kvm_irqchip_add_route to kvm_irqchip_add_irq_route
kvm: Introduce kvm_irqchip_add_msi_route
kvm: Publicize kvm_release_gsi as kvm_irqchip_release_virq
kvm: Make kvm_irqchip_commit_routes an internal service
kvm: Introduce kvm_irqchip_add/remove_irqfd
kvm: Enable use of kvm_irqchip_in_kernel in hwlib code
msix: Add msix_nr_vectors_allocated
virtio/vhost: Add support for KVM in-kernel MSI injection
hw/msix.c | 116 ++++++++++++++++++++++++++++++++++++++++++++++++---
hw/msix.h | 6 +++
hw/pc_piix.c | 14 ++----
hw/pci.h | 8 ++++
hw/virtio-pci.c | 126 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
hw/virtio-pci.h | 6 +++
kvm-all.c | 97 +++++++++++++++++++++++++++++++++++-------
kvm-stub.c | 23 ++++++++++
kvm.h | 17 +++++---
9 files changed, 375 insertions(+), 38 deletions(-)
--
1.7.3.4
next reply other threads:[~2012-05-14 21:07 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-14 21:07 Jan Kiszka [this message]
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 01/11] msix: Factor out msix_get_message Jan Kiszka
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 02/11] msix: Invoke msix_handle_mask_update on msix_mask_all Jan Kiszka
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 03/11] msix: Introduce vector notifiers Jan Kiszka
2012-05-15 13:31 ` [Qemu-devel] [PATCH 12/11] msix: Trigger vector mask update check after vmload Jan Kiszka
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 04/11] kvm: Rename kvm_irqchip_add_route to kvm_irqchip_add_irq_route Jan Kiszka
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 05/11] kvm: Introduce kvm_irqchip_add_msi_route Jan Kiszka
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 06/11] kvm: Publicize kvm_release_gsi as kvm_irqchip_release_virq Jan Kiszka
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 07/11] kvm: Make kvm_irqchip_commit_routes an internal service Jan Kiszka
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 08/11] kvm: Introduce kvm_irqchip_add/remove_irqfd Jan Kiszka
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 09/11] kvm: Enable use of kvm_irqchip_in_kernel in hwlib code Jan Kiszka
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 10/11] msix: Add msix_nr_vectors_allocated Jan Kiszka
2012-05-14 21:07 ` [Qemu-devel] [RFC][PATCH 11/11] virtio/vhost: Add support for KVM in-kernel MSI injection Jan Kiszka
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=cover.1337029654.git.jan.kiszka@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=qemu-devel@nongnu.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).