On 08/26/2014 06:15 PM, John Ferlan wrote:
Introduce XML to allowing adding iothreads to the domain. These can
be
used by virtio-blk-pci devices in order to assign a specific thread to
handle the workload for the device. The iothreads are the official
implementation of the virtio-blk Data Plane that's been in tech preview
for QEMU.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
docs/formatdomain.html.in | 26 ++++++++++++++++++++++++++
docs/schemas/domaincommon.rng | 6 ++++++
src/conf/domain_conf.c | 20 ++++++++++++++++++++
src/conf/domain_conf.h | 2 ++
4 files changed, 54 insertions(+)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index de4e4eb..b584a08 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -470,6 +470,32 @@
</dd>
</dl>
+ <h3><a name="elementsIOThreadsAllocation">IOThreads
Allocation</a></h3>
+ <p>
+ IOThreads are a QEMU feature that will allow supported disk
+ devices to be configured to use a dedicated event loop thread
+ to handle block I/O requests.
+ <span class="since">Since 1.2.8 (QEMU only)</span>
+ </p>
Changed the text to:
IOThreads are dedicated event loop threads for supported disk
devices to perform block I/O requests in order to improve
scalability especially on an SMP host/guest with many LUNs.
Which probably is the best description I could find from my bz.
<...snip...>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index dd512ca..81a3fdf 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -11957,6 +11957,15 @@ virDomainDefParseXML(xmlDocPtr xml,
}
}
+ /* Optional - iothreads */
+ tmp = virXPathString("string(./iothreads[1])", ctxt);
+ if (tmp && virStrToLong_uip(tmp, NULL, 0, &def->iothreads) < 0) {
And yes s/10/0 was done here as well - so much for cut-n-paste :-)
<...snip...>
Tks,
John