summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohsin Kazmi <sykazmi@cisco.com>2021-02-22 18:27:57 +0000
committerBeno�t Ganne <bganne@cisco.com>2021-02-24 16:43:35 +0000
commit5db2f4a4312112ab57043ce88f10edc4acc141ec (patch)
tree732108b7ee7ed608e8ccef3b6fdb5c8e26b2f02d
parent09bf91ad8d492763879303c9ff31dbcba5f9732b (diff)
virtio: enable the interrupt support for uio_pci_generic
Type: improvement Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: Ic25ffe9c8e37826733cfb9e62cefb491bb3322bc
-rw-r--r--src/vnet/devices/virtio/pci.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/vnet/devices/virtio/pci.c b/src/vnet/devices/virtio/pci.c
index 908aba75962..79bd0047570 100644
--- a/src/vnet/devices/virtio/pci.c
+++ b/src/vnet/devices/virtio/pci.c
@@ -1451,10 +1451,12 @@ virtio_pci_create_if (vlib_main_t * vm, virtio_pci_create_if_args_t * args)
vif->support_int_mode = 1;
virtio_log_debug (vif, "device supports msix interrupts");
}
- else if (interrupt_count == 1)
+ else
{
/*
- * if msix table-size is 1, fall back to intX.
+ * WARN: performance will be sub-optimal.
+ * Fall back to intX, if msix table-size is 1 or
+ * if UIO driver is being used.
*/
if ((error =
vlib_pci_register_intx_handler (vm, h, &virtio_pci_irq_handler)))
@@ -1466,15 +1468,6 @@ virtio_pci_create_if (vlib_main_t * vm, virtio_pci_create_if_args_t * args)
vif->support_int_mode = 1;
virtio_log_debug (vif, "pci register interrupt handler");
}
- else
- {
- /*
- * WARN: intX is showing some weird behaviour.
- * Please don't use interrupt mode with UIO driver.
- */
- vif->support_int_mode = 0;
- virtio_log_debug (vif, "driver is configured in poll mode only");
- }
if ((error = vlib_pci_intr_enable (vm, h)))
{