Re: [libvirt] [PATCH v2] qemu: Add I/O thread support info into domain capabilities

2018-04-25 Thread Michal Privoznik
On 04/24/2018 02:46 PM, Martin Kletzander wrote:
> Signed-off-by: Martin Kletzander 
> ---
>  docs/schemas/domaincaps.rng   | 10 ++
>  src/conf/domain_capabilities.c|  3 +++
>  src/conf/domain_capabilities.h|  1 +
>  src/qemu/qemu_capabilities.c  | 11 +++
>  tests/domaincapsschemadata/basic.xml  |  1 +
>  tests/domaincapsschemadata/full.xml   |  1 +
>  tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml  |  1 +
>  .../domaincapsschemadata/qemu_2.12.0-virt.aarch64.xml |  1 +
>  tests/domaincapsschemadata/qemu_2.12.0.ppc64.xml  |  1 +
>  tests/domaincapsschemadata/qemu_2.12.0.s390x.xml  |  1 +
>  tests/domaincapsschemadata/qemu_2.12.0.x86_64.xml |  1 +
>  .../domaincapsschemadata/qemu_2.6.0-virt.aarch64.xml  |  1 +
>  tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml |  1 +
>  tests/domaincapsschemadata/qemu_2.6.0.ppc64.xml   |  1 +
>  tests/domaincapsschemadata/qemu_2.6.0.x86_64.xml  |  1 +
>  tests/domaincapsschemadata/qemu_2.7.0.s390x.xml   |  1 +
>  tests/domaincapsschemadata/qemu_2.8.0-tcg.x86_64.xml  |  1 +
>  tests/domaincapsschemadata/qemu_2.8.0.s390x.xml   |  1 +
>  tests/domaincapsschemadata/qemu_2.8.0.x86_64.xml  |  1 +
>  tests/domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml  |  1 +
>  tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml  |  1 +
>  tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml  |  1 +
>  22 files changed, 43 insertions(+)
> 

ACK if you update docs/formatdomaincaps.html.in accordingly. Also, sorry
for not spotting it in review for v1.

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH v2] qemu: Add I/O thread support info into domain capabilities

2018-04-24 Thread Martin Kletzander
Signed-off-by: Martin Kletzander 
---
 docs/schemas/domaincaps.rng   | 10 ++
 src/conf/domain_capabilities.c|  3 +++
 src/conf/domain_capabilities.h|  1 +
 src/qemu/qemu_capabilities.c  | 11 +++
 tests/domaincapsschemadata/basic.xml  |  1 +
 tests/domaincapsschemadata/full.xml   |  1 +
 tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml  |  1 +
 .../domaincapsschemadata/qemu_2.12.0-virt.aarch64.xml |  1 +
 tests/domaincapsschemadata/qemu_2.12.0.ppc64.xml  |  1 +
 tests/domaincapsschemadata/qemu_2.12.0.s390x.xml  |  1 +
 tests/domaincapsschemadata/qemu_2.12.0.x86_64.xml |  1 +
 .../domaincapsschemadata/qemu_2.6.0-virt.aarch64.xml  |  1 +
 tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml |  1 +
 tests/domaincapsschemadata/qemu_2.6.0.ppc64.xml   |  1 +
 tests/domaincapsschemadata/qemu_2.6.0.x86_64.xml  |  1 +
 tests/domaincapsschemadata/qemu_2.7.0.s390x.xml   |  1 +
 tests/domaincapsschemadata/qemu_2.8.0-tcg.x86_64.xml  |  1 +
 tests/domaincapsschemadata/qemu_2.8.0.s390x.xml   |  1 +
 tests/domaincapsschemadata/qemu_2.8.0.x86_64.xml  |  1 +
 tests/domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml  |  1 +
 tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml  |  1 +
 tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml  |  1 +
 22 files changed, 43 insertions(+)

diff --git a/docs/schemas/domaincaps.rng b/docs/schemas/domaincaps.rng
index 39053181eb9a..049b2ae7b64f 100644
--- a/docs/schemas/domaincaps.rng
+++ b/docs/schemas/domaincaps.rng
@@ -28,6 +28,9 @@
 
   
 
+
+  
+
 
   
 
@@ -53,6 +56,13 @@
 
   
 
+  
+
+  
+  
+
+  
+
   
 
   
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index bebbaf44d00e..f18bea99d63f 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -562,6 +562,9 @@ virDomainCapsFormat(virDomainCapsPtr const caps)
 if (caps->maxvcpus)
 virBufferAsprintf(, "\n", caps->maxvcpus);
 
+virBufferAsprintf(, "\n",
+  caps->iothreads ? "yes" : "no");
+
 virDomainCapsOSFormat(, >os);
 virDomainCapsCPUFormat(, >cpu);
 
diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h
index fa4c1e442f57..3b5ce214d636 100644
--- a/src/conf/domain_capabilities.h
+++ b/src/conf/domain_capabilities.h
@@ -147,6 +147,7 @@ struct _virDomainCaps {
 
 /* Some machine specific info */
 int maxvcpus;
+bool iothreads;  /* Whether I/O threads are supported or not. */
 
 virDomainCapsOS os;
 virDomainCapsCPU cpu;
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 833c75514c25..00634abb1649 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -4632,6 +4632,16 @@ virQEMUCapsFillDomainCPUCaps(virCapsPtr caps,
 }
 
 
+static int
+virQEMUCapsFillDomainIOThreadCaps(virQEMUCapsPtr qemuCaps,
+  virDomainCapsPtr domCaps)
+{
+domCaps->iothreads = virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_IOTHREAD);
+
+return 0;
+}
+
+
 static int
 virQEMUCapsFillDomainDeviceDiskCaps(virQEMUCapsPtr qemuCaps,
 const char *machine,
@@ -4866,6 +4876,7 @@ virQEMUCapsFillDomainCaps(virCapsPtr caps,
 
 if (virQEMUCapsFillDomainOSCaps(os, firmwares, nfirmwares) < 0 ||
 virQEMUCapsFillDomainCPUCaps(caps, qemuCaps, domCaps) < 0 ||
+virQEMUCapsFillDomainIOThreadCaps(qemuCaps, domCaps) < 0 ||
 virQEMUCapsFillDomainDeviceDiskCaps(qemuCaps,
 domCaps->machine, disk) < 0 ||
 virQEMUCapsFillDomainDeviceGraphicsCaps(qemuCaps, graphics) < 0 ||
diff --git a/tests/domaincapsschemadata/basic.xml 
b/tests/domaincapsschemadata/basic.xml
index 6b788d9144c8..7f9582430a7a 100644
--- a/tests/domaincapsschemadata/basic.xml
+++ b/tests/domaincapsschemadata/basic.xml
@@ -3,6 +3,7 @@
   uml
   my-machine-type
   x86_64
+  
   
   
 
diff --git a/tests/domaincapsschemadata/full.xml 
b/tests/domaincapsschemadata/full.xml
index ab6ef9f2ef17..b97bc883262a 100644
--- a/tests/domaincapsschemadata/full.xml
+++ b/tests/domaincapsschemadata/full.xml
@@ -4,6 +4,7 @@
   my-machine-type
   x86_64
   
+  
   
 
   /foo/bar
diff --git a/tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml 
b/tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml
index 8d1ad865703e..d71d948477ef 100644
--- a/tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml
+++ b/tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml
@@ -4,6 +4,7 @@
   pc-i440fx-1.7
   x86_64
   
+  
   
 
   /usr/share/AAVMF/AAVMF_CODE.fd
diff --git a/tests/domaincapsschemadata/qemu_2.12.0-virt.aarch64.xml 
b/tests/domaincapsschemadata/qemu_2.12.0-virt.aarch64.xml
index 9cba942fbf8e..9feceeea74c6