[libvirt] [PATCH v2 1/4] domain_conf: Introduce iothreads XML

John Ferlan jferlan at redhat.com
Wed Aug 27 14:41:14 UTC 2014



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 at 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




More information about the libvir-list mailing list