[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/5] vfio/pci: Disable INTx fast path if using split irqchip
From: |
Auger Eric |
Subject: |
Re: [PATCH 1/5] vfio/pci: Disable INTx fast path if using split irqchip |
Date: |
Thu, 27 Feb 2020 17:53:32 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
Hi Peter,
On 2/26/20 11:50 PM, Peter Xu wrote:
> It's currently broken. Let's use the slow path to at least make it
> functional.
>
> Signed-off-by: Peter Xu <address@hidden>
> ---
> hw/vfio/pci.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
> index 5e75a95129..98e0e0c994 100644
> --- a/hw/vfio/pci.c
> +++ b/hw/vfio/pci.c
> @@ -128,6 +128,18 @@ static void vfio_intx_enable_kvm(VFIOPCIDevice *vdev,
> Error **errp)
> return;
> }
>
> + if (kvm_irqchip_is_split()) {
> + /*
> + * VFIO INTx is currently not working with split kernel
> + * irqchip for level triggered interrupts. Go the slow path
> + * as long as split is enabled so we can be at least
> + * functional (even with poor performance).
> + *
> + * TODO: Remove this after all things fixed up.
If this patch were to be applied sooner than the other patches as
suggested in the cover letter, We may emit a warning message saying that
slow path is selected due to split irqchip and this will induce perf
downgrade
> + */
> + return;
> + }
> +
> /* Get to a known interrupt state */
> qemu_set_fd_handler(irqfd.fd, NULL, NULL, vdev);
> vfio_mask_single_irqindex(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX);
>
Tested with a 5.2-rc1 kernel with reverted "654f1f13ea56 kvm: Check
irqchip mode before assign irqfd" and guest booting with nomsi.
Without this patch the assigned NIC does not work. This patch fixes the
issue.
Reviewed-by: Eric Auger <address@hidden>
Tested-by: Eric Auger <address@hidden>
Thanks
Eric