INTx sharing is a bit more expensive than exclusive host interrupts, but
this channel is not supposed to be used for high-performance scenarios
anyway. Modern devices support MSI/MSI-X and do not depend on using INTx
under critical workload, real old devices do not support INTx sharing
anyway.

For those in the middle, the user experience is much better if they just
work even when IRQ sharing is required. If there is nothing to share,
share_intx=off can still be applied as tuning parameter.

With INTx sharing as default, the primary reason for prefer_msi=on is
gone. Make it default off, specifically as it is known to cause troubles
with devices that have incomplete/broken MSI support or otherwise
stumble if host IRQ configuration does not match guest driver
expectation.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
---
 hw/device-assignment.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/device-assignment.c b/hw/device-assignment.c
index b7cabd4..caa3602 100644
--- a/hw/device-assignment.c
+++ b/hw/device-assignment.c
@@ -1770,9 +1770,9 @@ static Property da_properties[] =
     DEFINE_PROP_BIT("iommu", AssignedDevice, features,
                    ASSIGNED_DEVICE_USE_IOMMU_BIT, true),
     DEFINE_PROP_BIT("prefer_msi", AssignedDevice, features,
-                   ASSIGNED_DEVICE_PREFER_MSI_BIT, true),
+                    ASSIGNED_DEVICE_PREFER_MSI_BIT, false),
     DEFINE_PROP_BIT("share_intx", AssignedDevice, features,
-                    ASSIGNED_DEVICE_SHARE_INTX_BIT, false),
+                    ASSIGNED_DEVICE_SHARE_INTX_BIT, true),
     DEFINE_PROP_INT32("bootindex", AssignedDevice, bootindex, -1),
     DEFINE_PROP_STRING("configfd", AssignedDevice, configfd_name),
     DEFINE_PROP_END_OF_LIST(),
-- 
1.7.3.4

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to