mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 21:34:54 +03:00
qemu: Detect whether iothread polling is supported
Add a capability check for IOThread polling (all were added at the same time, so only one check is necessary). Based on code originally posted by Pavel Hrdina <phrdina@redhat.com> with the only changes to include the more recent QEMU releases. Signed-off-by: John Ferlan <jferlan@redhat.com> ACKed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
f747a2b5c4
commit
9aec374b01
@ -514,6 +514,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
|
|||||||
|
|
||||||
/* 320 */
|
/* 320 */
|
||||||
"memory-backend-memfd.hugetlb",
|
"memory-backend-memfd.hugetlb",
|
||||||
|
"iothread.poll-max-ns",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -1246,6 +1247,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
|
|||||||
{ "nbd-server-start/arg-type/tls-creds", QEMU_CAPS_NBD_TLS },
|
{ "nbd-server-start/arg-type/tls-creds", QEMU_CAPS_NBD_TLS },
|
||||||
{ "screendump/arg-type/device", QEMU_CAPS_SCREENDUMP_DEVICE },
|
{ "screendump/arg-type/device", QEMU_CAPS_SCREENDUMP_DEVICE },
|
||||||
{ "block-commit/arg-type/*top", QEMU_CAPS_ACTIVE_COMMIT },
|
{ "block-commit/arg-type/*top", QEMU_CAPS_ACTIVE_COMMIT },
|
||||||
|
{ "query-iothreads/ret-type/poll-max-ns", QEMU_CAPS_IOTHREAD_POLLING },
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps;
|
typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps;
|
||||||
|
@ -498,6 +498,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
|
|||||||
|
|
||||||
/* 320 */
|
/* 320 */
|
||||||
QEMU_CAPS_OBJECT_MEMORY_MEMFD_HUGETLB, /* -object memory-backend-memfd.hugetlb */
|
QEMU_CAPS_OBJECT_MEMORY_MEMFD_HUGETLB, /* -object memory-backend-memfd.hugetlb */
|
||||||
|
QEMU_CAPS_IOTHREAD_POLLING, /* -object iothread.poll-max-ns */
|
||||||
|
|
||||||
QEMU_CAPS_LAST /* this must always be the last item */
|
QEMU_CAPS_LAST /* this must always be the last item */
|
||||||
} virQEMUCapsFlags;
|
} virQEMUCapsFlags;
|
||||||
|
@ -151,6 +151,7 @@
|
|||||||
<flag name='blockdev-del'/>
|
<flag name='blockdev-del'/>
|
||||||
<flag name='vhost-vsock'/>
|
<flag name='vhost-vsock'/>
|
||||||
<flag name='egl-headless'/>
|
<flag name='egl-headless'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2010000</version>
|
<version>2010000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>305067</microcodeVersion>
|
<microcodeVersion>305067</microcodeVersion>
|
||||||
|
@ -150,6 +150,7 @@
|
|||||||
<flag name='blockdev-del'/>
|
<flag name='blockdev-del'/>
|
||||||
<flag name='vhost-vsock'/>
|
<flag name='vhost-vsock'/>
|
||||||
<flag name='egl-headless'/>
|
<flag name='egl-headless'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2010000</version>
|
<version>2010000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>384412</microcodeVersion>
|
<microcodeVersion>384412</microcodeVersion>
|
||||||
|
@ -114,6 +114,7 @@
|
|||||||
<flag name='vhost-vsock'/>
|
<flag name='vhost-vsock'/>
|
||||||
<flag name='egl-headless'/>
|
<flag name='egl-headless'/>
|
||||||
<flag name='zpci'/>
|
<flag name='zpci'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2010000</version>
|
<version>2010000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>306247</microcodeVersion>
|
<microcodeVersion>306247</microcodeVersion>
|
||||||
|
@ -192,6 +192,7 @@
|
|||||||
<flag name='vhost-vsock'/>
|
<flag name='vhost-vsock'/>
|
||||||
<flag name='mch'/>
|
<flag name='mch'/>
|
||||||
<flag name='egl-headless'/>
|
<flag name='egl-headless'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2010000</version>
|
<version>2010000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>364386</microcodeVersion>
|
<microcodeVersion>364386</microcodeVersion>
|
||||||
|
@ -121,6 +121,7 @@
|
|||||||
<flag name='tpm-emulator'/>
|
<flag name='tpm-emulator'/>
|
||||||
<flag name='egl-headless'/>
|
<flag name='egl-headless'/>
|
||||||
<flag name='zpci'/>
|
<flag name='zpci'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2011000</version>
|
<version>2011000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>345099</microcodeVersion>
|
<microcodeVersion>345099</microcodeVersion>
|
||||||
|
@ -198,6 +198,7 @@
|
|||||||
<flag name='mch'/>
|
<flag name='mch'/>
|
||||||
<flag name='mch.extended-tseg-mbytes'/>
|
<flag name='mch.extended-tseg-mbytes'/>
|
||||||
<flag name='egl-headless'/>
|
<flag name='egl-headless'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2011000</version>
|
<version>2011000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>368875</microcodeVersion>
|
<microcodeVersion>368875</microcodeVersion>
|
||||||
|
@ -164,6 +164,7 @@
|
|||||||
<flag name='vfio-pci.display'/>
|
<flag name='vfio-pci.display'/>
|
||||||
<flag name='memory-backend-memfd'/>
|
<flag name='memory-backend-memfd'/>
|
||||||
<flag name='memory-backend-memfd.hugetlb'/>
|
<flag name='memory-backend-memfd.hugetlb'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2011090</version>
|
<version>2011090</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>345725</microcodeVersion>
|
<microcodeVersion>345725</microcodeVersion>
|
||||||
|
@ -162,6 +162,7 @@
|
|||||||
<flag name='vfio-pci.display'/>
|
<flag name='vfio-pci.display'/>
|
||||||
<flag name='memory-backend-memfd'/>
|
<flag name='memory-backend-memfd'/>
|
||||||
<flag name='memory-backend-memfd.hugetlb'/>
|
<flag name='memory-backend-memfd.hugetlb'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2011090</version>
|
<version>2011090</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>426509</microcodeVersion>
|
<microcodeVersion>426509</microcodeVersion>
|
||||||
|
@ -131,6 +131,7 @@
|
|||||||
<flag name='zpci'/>
|
<flag name='zpci'/>
|
||||||
<flag name='memory-backend-memfd'/>
|
<flag name='memory-backend-memfd'/>
|
||||||
<flag name='memory-backend-memfd.hugetlb'/>
|
<flag name='memory-backend-memfd.hugetlb'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2012000</version>
|
<version>2012000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>375102</microcodeVersion>
|
<microcodeVersion>375102</microcodeVersion>
|
||||||
|
@ -205,6 +205,7 @@
|
|||||||
<flag name='vfio-pci.display'/>
|
<flag name='vfio-pci.display'/>
|
||||||
<flag name='memory-backend-memfd'/>
|
<flag name='memory-backend-memfd'/>
|
||||||
<flag name='memory-backend-memfd.hugetlb'/>
|
<flag name='memory-backend-memfd.hugetlb'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2011090</version>
|
<version>2011090</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>414371</microcodeVersion>
|
<microcodeVersion>414371</microcodeVersion>
|
||||||
|
@ -142,6 +142,7 @@
|
|||||||
<flag name='hda-output'/>
|
<flag name='hda-output'/>
|
||||||
<flag name='blockdev-del'/>
|
<flag name='blockdev-del'/>
|
||||||
<flag name='vhost-vsock'/>
|
<flag name='vhost-vsock'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2009000</version>
|
<version>2009000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>349056</microcodeVersion>
|
<microcodeVersion>349056</microcodeVersion>
|
||||||
|
@ -108,6 +108,7 @@
|
|||||||
<flag name='blockdev-del'/>
|
<flag name='blockdev-del'/>
|
||||||
<flag name='vhost-vsock'/>
|
<flag name='vhost-vsock'/>
|
||||||
<flag name='zpci'/>
|
<flag name='zpci'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2009000</version>
|
<version>2009000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>267973</microcodeVersion>
|
<microcodeVersion>267973</microcodeVersion>
|
||||||
|
@ -186,6 +186,7 @@
|
|||||||
<flag name='vmgenid'/>
|
<flag name='vmgenid'/>
|
||||||
<flag name='vhost-vsock'/>
|
<flag name='vhost-vsock'/>
|
||||||
<flag name='mch'/>
|
<flag name='mch'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2009000</version>
|
<version>2009000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>340375</microcodeVersion>
|
<microcodeVersion>340375</microcodeVersion>
|
||||||
|
@ -162,6 +162,7 @@
|
|||||||
<flag name='vfio-pci.display'/>
|
<flag name='vfio-pci.display'/>
|
||||||
<flag name='memory-backend-memfd'/>
|
<flag name='memory-backend-memfd'/>
|
||||||
<flag name='memory-backend-memfd.hugetlb'/>
|
<flag name='memory-backend-memfd.hugetlb'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>2012050</version>
|
<version>2012050</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>444946</microcodeVersion>
|
<microcodeVersion>444946</microcodeVersion>
|
||||||
|
@ -102,6 +102,7 @@
|
|||||||
<flag name='egl-headless'/>
|
<flag name='egl-headless'/>
|
||||||
<flag name='memory-backend-memfd'/>
|
<flag name='memory-backend-memfd'/>
|
||||||
<flag name='memory-backend-memfd.hugetlb'/>
|
<flag name='memory-backend-memfd.hugetlb'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>3000000</version>
|
<version>3000000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>0</microcodeVersion>
|
<microcodeVersion>0</microcodeVersion>
|
||||||
|
@ -102,6 +102,7 @@
|
|||||||
<flag name='egl-headless'/>
|
<flag name='egl-headless'/>
|
||||||
<flag name='memory-backend-memfd'/>
|
<flag name='memory-backend-memfd'/>
|
||||||
<flag name='memory-backend-memfd.hugetlb'/>
|
<flag name='memory-backend-memfd.hugetlb'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>3000000</version>
|
<version>3000000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>0</microcodeVersion>
|
<microcodeVersion>0</microcodeVersion>
|
||||||
|
@ -133,6 +133,7 @@
|
|||||||
<flag name='zpci'/>
|
<flag name='zpci'/>
|
||||||
<flag name='memory-backend-memfd'/>
|
<flag name='memory-backend-memfd'/>
|
||||||
<flag name='memory-backend-memfd.hugetlb'/>
|
<flag name='memory-backend-memfd.hugetlb'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>3000000</version>
|
<version>3000000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>388416</microcodeVersion>
|
<microcodeVersion>388416</microcodeVersion>
|
||||||
|
@ -207,6 +207,7 @@
|
|||||||
<flag name='vfio-pci.display'/>
|
<flag name='vfio-pci.display'/>
|
||||||
<flag name='memory-backend-memfd'/>
|
<flag name='memory-backend-memfd'/>
|
||||||
<flag name='memory-backend-memfd.hugetlb'/>
|
<flag name='memory-backend-memfd.hugetlb'/>
|
||||||
|
<flag name='iothread.poll-max-ns'/>
|
||||||
<version>3000000</version>
|
<version>3000000</version>
|
||||||
<kvmVersion>0</kvmVersion>
|
<kvmVersion>0</kvmVersion>
|
||||||
<microcodeVersion>425972</microcodeVersion>
|
<microcodeVersion>425972</microcodeVersion>
|
||||||
|
Loading…
Reference in New Issue
Block a user