Re: [v5 00/19] Add VT-d Posted-Interrupts support
From: Eric Auger
Date: Mon Jul 13 2015 - 09:19:54 EST
Hi Feng,
On 07/13/2015 11:47 AM, Feng Wu wrote:
> VT-d Posted-Interrupts is an enhancement to CPU side Posted-Interrupt.
> With VT-d Posted-Interrupts enabled, external interrupts from
> direct-assigned devices can be delivered to guests without VMM
> intervention when guest is running in non-root mode.
>
> You can find the VT-d Posted-Interrtups Spec. in the following URL:
> http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/vt-directed-io-spec.html
>
> This series was part of http://thread.gmane.org/gmane.linux.kernel.iommu/7708. To make things clear, send out IOMMU part here.
>
> This patch-set is based on the lastest x86/apic branch of tip tree.
>
> Divide the whole series which contain multiple components into three parts:
> - Prerequisite changes to irq subsystem (already merged)
> - IOMMU part (already merged)
> - KVM and VFIO parts (this series)
>
> v5:
> - Based on Alex and Eric's irq bypass manager:
> https://lkml.org/lkml/2015/7/10/663
> - Reuse some common patch from Eric
A comment about the overall structure. Previously you prefered to have 2
separate series, one usable by both of us and one with my forwarding
stuff. Why did you change your mind?
Best Regards
Eric
>
> Eric Auger (3):
> KVM: create kvm_irqfd.h
> KVM: eventfd: add irq bypass information in irqfd
> KVM: eventfd: add irq bypass consumer management
>
> Feng Wu (16):
> KVM: Extend struct pi_desc for VT-d Posted-Interrupts
> KVM: Add some helper functions for Posted-Interrupts
> KVM: Define a new interface kvm_intr_is_single_vcpu()
> KVM: Get Posted-Interrupts descriptor address from struct kvm_vcpu
> KVM: Add interfaces to control PI outside vmx
> KVM: Make struct kvm_irq_routing_table accessible
> KVM: make kvm_set_msi_irq() public
> vfio: Select IRQ_BYPASS_MANAGER for vfio PCI devices
> vfio: Register/unregister irq_bypass_producer
> KVM, x86: Select IRQ_BYPASS_MANAGER for KVM_INTEL
> KVM: x86: Update IRTE for posted-interrupts
> KVM: x86: Add arch specific routines for irqbypass manager
> KVM: Add an arch specific hooks in 'struct kvm_kernel_irqfd'
> KVM: Update Posted-Interrupts Descriptor when vCPU is preempted
> KVM: Update Posted-Interrupts Descriptor when vCPU is blocked
> KVM: Warn if 'SN' is set during posting interrupts by software
>
> arch/x86/include/asm/kvm_host.h | 15 ++
> arch/x86/kvm/Kconfig | 1 +
> arch/x86/kvm/irq_comm.c | 28 +++-
> arch/x86/kvm/vmx.c | 278 +++++++++++++++++++++++++++++++++++-
> arch/x86/kvm/x86.c | 160 +++++++++++++++++++--
> drivers/vfio/pci/Kconfig | 1 +
> drivers/vfio/pci/vfio_pci_intrs.c | 19 +++
> drivers/vfio/pci/vfio_pci_private.h | 2 +
> include/linux/kvm_host.h | 23 +++
> include/linux/kvm_irqfd.h | 74 ++++++++++
> virt/kvm/eventfd.c | 115 ++++++---------
> virt/kvm/irqchip.c | 11 --
> virt/kvm/kvm_main.c | 3 +
> 13 files changed, 632 insertions(+), 98 deletions(-)
> create mode 100644 include/linux/kvm_irqfd.h
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/