[libvirt] [PATCH 06/12] qemu_capabilities: detect whether iothread polling is supported

Pavel Hrdina phrdina at redhat.com
Tue Feb 21 12:15:02 UTC 2017


Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---

Patch [1] that is still waiting to be pushed into QEMU is required for
this feature.

[1] <http://lists.nongnu.org/archive/html/qemu-devel/2017-02/msg02192.html>

 src/qemu/qemu_capabilities.c                         |  2 ++
 src/qemu/qemu_capabilities.h                         |  1 +
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 12 ++++++++++++
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml     |  1 +
 4 files changed, 16 insertions(+)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index e851eec7a7..982893a6c8 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -358,6 +358,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
               "query-cpu-model-expansion", /* 245 */
               "virtio-net.host_mtu",
               "spice-rendernode",
+              "iothread.poll-max-ns",
     );
 
 
@@ -1734,6 +1735,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUSBNECXHCI[] = {
 static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
     { "blockdev-add/arg-type/options/+gluster/debug-level", QEMU_CAPS_GLUSTER_DEBUG_LEVEL},
     { "blockdev-add/arg-type/+gluster/debug", QEMU_CAPS_GLUSTER_DEBUG_LEVEL},
+    { "query-iothreads/ret-type/poll-max-ns", QEMU_CAPS_IOTHREAD_POLLING},
 };
 
 struct virQEMUCapsObjectTypeProps {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 0f998c473f..bdaccde307 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -394,6 +394,7 @@ typedef enum {
     QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION, /* qmp query-cpu-model-expansion */
     QEMU_CAPS_VIRTIO_NET_HOST_MTU, /* virtio-net-*.host_mtu */
     QEMU_CAPS_SPICE_RENDERNODE, /* -spice rendernode */
+    QEMU_CAPS_IOTHREAD_POLLING, /* -object iothread.poll-max-ns */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
index fe9fe7d5b7..5ee2c61e4f 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
@@ -9211,6 +9211,18 @@
         {
           "name": "thread-id",
           "type": "int"
+        },
+        {
+          "name": "poll-max-ns",
+          "type": "int"
+        },
+        {
+          "name": "poll-grow",
+          "type": "int"
+        },
+        {
+          "name": "poll-shrink",
+          "type": "int"
         }
       ],
       "meta-type": "object"
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
index dcdc0e6213..7089429866 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
@@ -202,6 +202,7 @@
   <flag name='vhost-scsi'/>
   <flag name='drive-iotune-group'/>
   <flag name='virtio-net.host_mtu'/>
+  <flag name='iothread.poll-max-ns'/>
   <version>2008050</version>
   <kvmVersion>0</kvmVersion>
   <package> (v2.8.0-1321-gad584d3)</package>
-- 
2.11.1




More information about the libvir-list mailing list