Re: [PATCH 7/8] docs: Document acpi nodeset in hostdev

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Sep 06, 2025 at 03:09:02PM +0200, Andrea Righi wrote:
> Add documentation for the new <acpi nodeset="..."> element in hostdev,
> which allows associating devices with ACPI Generic Initiator objects in
> QEMU.
> 
> A typical use case is NVIDIA Multi-Instance GPU (MIG), where a physical
> GPU is partitioned into multiple isolated instances, each tied to one or
> more virtual NUMA nodes. The documentation includes an example showing
> how to configure <numa> cells together with a MIG device.
> 
> Signed-off-by: Andrea Righi <arighi@xxxxxxxxxx>
> ---
>  docs/formatdomain.rst | 49 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 49 insertions(+)
> 
> diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
> index 9f7311b6d5..24f7cdd018 100644
> --- a/docs/formatdomain.rst
> +++ b/docs/formatdomain.rst
> @@ -4894,6 +4894,55 @@ or:
>     host device. :since:`Since 1.0.6`, but only works as expected
>     :since:`since 1.2.2`.
>  
> +ACPI Generic Initiators
> +^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +A host device may include an ``<acpi>`` element to create ACPI Generic
> +Initiator objects for the device in QEMU.
> +
> +This can be used for **NVIDIA Multi-Instance GPU (MIG)** configurations,
> +where a physical GPU is partitioned into multiple isolated instances, each
> +associated with one or more virtual NUMA nodes.
> +
> +By attaching an ``<acpi nodeset=.../>`` element to the MIG device in the
> +domain XML, the guest will configure the correct partitioning for that
> +instance.
> +
> +.. code-block:: xml

We can't use code formatting in CI, so I've changed this to a
plain pre-formatted text block like the rest of the doc

> +
> +   <numa>
> +     <cell id='0' cpus='0-15' memory='8388608' unit='KiB'/>
> +     <cell id='1' memory='0' unit='KiB'/>
> +     <cell id='2' memory='0' unit='KiB'/>
> +     <cell id='3' memory='0' unit='KiB'/>
> +     <cell id='4' memory='0' unit='KiB'/>
> +     <cell id='5' memory='0' unit='KiB'/>
> +     <cell id='6' memory='0' unit='KiB'/>
> +     <cell id='7' memory='0' unit='KiB'/>
> +     <cell id='8' memory='0' unit='KiB'/>
> +   </numa>
> +   ...
> +   <hostdev mode='subsystem' type='pci' managed='yes'>
> +     <source>
> +       <address domain='0x0000' bus='0x06' slot='0x12' function='0x1'/>
> +     </source>
> +     <acpi nodeset='1-8'/>
> +     <address type='pci' domain='0x0000' bus='0x00'
> +              slot='0x02' function='0x0'/>
> +   </hostdev>
> +
> +Attributes of ``<acpi>``:
> +
> +``nodeset``
> +   A list of NUMA node IDs that will be associated with the device.
> +   Each node in the set causes libvirt to create an
> +   ``acpi-generic-initiator`` object in QEMU, tied to this device.
> +
> +   The value uses the standard libvirt *nodeset* syntax (e.g. ``0-3,5``).
> +
> +If the ``<acpi>`` element is omitted, no acpi-generic-initiator objects are
> +created for the device.
> +
>  Block / character devices
>  ^^^^^^^^^^^^^^^^^^^^^^^^^
>  
> -- 
> 2.51.0
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux