[libvirt] [PATCHv2 5/6] conf: add caching attribute to iommu device

John Ferlan jferlan at redhat.com
Mon Apr 24 21:47:43 UTC 2017



On 04/20/2017 08:19 AM, Ján Tomko wrote:
> Add a new attribute to control the caching mode.
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1427005
> ---
>  docs/formatdomain.html.in                          |  9 +++++++
>  docs/schemas/domaincommon.rng                      |  5 ++++
>  src/conf/domain_conf.c                             | 24 ++++++++++++++++---
>  src/conf/domain_conf.h                             |  1 +
>  .../qemuxml2argv-intel-iommu-caching.xml           | 28 ++++++++++++++++++++++
>  .../qemuxml2xmlout-intel-iommu-caching.xml         |  1 +
>  tests/qemuxml2xmltest.c                            |  1 +
>  7 files changed, 66 insertions(+), 3 deletions(-)
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-caching.xml
>  create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-intel-iommu-caching.xml
> 
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index f5a8e76..dbca316 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -7364,6 +7364,15 @@ qemu-kvm -net nic,model=? /dev/null
>                (QEMU only)
>              </p>
>            </dd>
> +          <dt><code>caching</code></dt>
> +          <dd>
> +            <p>
> +              The <code>caching</code> attribute with possible values
> +              <code>on</code> and <code>off</code> can be used to
> +              turn on the caching mode. <span class="since">Since 3.3.0</span>
> +              (QEMU only)

Useful for what?  Required for what?  A bit more description about the
relationship with intremap might be nice as well.

Is there a relationship with the irqmode settings?  If so, then I would
think there should be checks in domain post processing that ensure that
if this is on, then the irqmode setting is adjusted appropriately.


> +            </p>
> +          </dd>
>          </dl>
>        </dd>
>      </dl>



> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-caching.xml b/tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-caching.xml
> new file mode 100644
> index 0000000..bab4fcb
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-caching.xml
> @@ -0,0 +1,28 @@
> +<domain type='qemu'>
> +  <name>QEMUGuest1</name>
> +  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
> +  <memory unit='KiB'>219100</memory>
> +  <currentMemory unit='KiB'>219100</currentMemory>
> +  <vcpu placement='static'>1</vcpu>
> +  <os>
> +    <type arch='x86_64' machine='q35'>hvm</type>
> +    <boot dev='hd'/>
> +  </os>
> +  <clock offset='utc'/>
> +  <on_poweroff>destroy</on_poweroff>
> +  <on_reboot>restart</on_reboot>
> +  <on_crash>destroy</on_crash>
> +  <devices>
> +    <emulator>/usr/bin/qemu-system-x86_64</emulator>
> +    <controller type='pci' index='0' model='pcie-root'/>
> +    <controller type='sata' index='0'>
> +      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
> +    </controller>
> +    <input type='mouse' bus='ps2'/>
> +    <input type='keyboard' bus='ps2'/>
> +    <memballoon model='none'/>
> +    <iommu model='intel'>
> +      <driver intremap='on' caching='on'/>
> +    </iommu>
> +  </devices>
> +</domain>

Maybe this is the XML that gets more devices added that prove the
ordering is correct.  IDC which one, but we should "ensure" the ordering
is right..

John




More information about the libvir-list mailing list