qm pci passthrough: follow up enhancements

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2018-11-14 08:04:51 +01:00
parent 050192c59d
commit d25f097cfc

View File

@ -276,32 +276,34 @@ to enable this feature in the BIOS/EFI first, or to use a specific PCI(e) port
for it to work. In doubt, consult the manual of the platform or contact its for it to work. In doubt, consult the manual of the platform or contact its
vendor. vendor.
Mediated Devices, vGPU/GVT-g Mediated Devices (vGPU, GVT-g)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mediated devices are another method to use virtualized hardware. Mediated devices are another method to use reuse features and performance from
These are found most common in virtualized GPU setups such as physical hardware for virtualized hardware. These are found most common in
Intels GVT-g and Nvidias vGPUs used in their GRID technology. virtualized GPU setups such as Intels GVT-g and Nvidias vGPUs used in their
GRID technology.
With this, a physical Card is able to create virtual cards, similar to SR-IOV.
The difference is that mediated devices do not appear as PCI(e) devices in the
host, and are such only suited for using in virtual machines.
With this, a physical Card is able to create virtual cards, similar to
SR-IOV, the difference is that mediated devices do not appear as PCI(e) devices
in the host, and are such only suited for using in virtual machines.
Host Configuration Host Configuration
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
In general your driver of the card must support that feature, otherwise it will In general your card's driver must support that feature, otherwise it will
not work. So please refer to your vendor for compatbile drivers and how to not work. So please refer to your vendor for compatbile drivers and how to
configure them. configure them.
Intels drivers for GVT-g are integraded in the Kernel and should work Intels drivers for GVT-g are integraded in the Kernel and should work
with 5th, 6th and 7th generation Intel Core Processors and E3 v4, E3 v5 and with the 5th, 6th and 7th generation Intel Core Processors, further E3 v4, E3
E3 v6 Xeon Processors. v5 and E3 v6 Xeon Processors are supported.
To enable it for Intel Graphcs, you have to make sure to load the module To enable it for Intel Graphcs, you have to make sure to load the module
'kvmgt' (for example via `/etc/modules`) and to enable it on the Kernel 'kvmgt' (for example via `/etc/modules`) and to enable it on the Kernel
commandline. For this you can edit `'/etc/default/grub'' commandline. For this you can edit `'/etc/default/grub'' and add the following
and add the following to the 'GRUB_CMDLINE_LINUX_DEFAULT' variable: to the 'GRUB_CMDLINE_LINUX_DEFAULT' variable:
---- ----
i915.enable_gvt=1 i915.enable_gvt=1
@ -315,13 +317,11 @@ reboot your host.
VM Configuration VM Configuration
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
To use a mediated device, simply specify the `mdev` on a `hostpciX` To use a mediated device, simply specify the `mdev` property on a `hostpciX`
configuration of a VM. This needs to be a type of mediated device supported VM configuration option.
by the specified PCI(e) card.
You can get the supported devices via the 'sysfs'. For example, listing You can get the supported devices via the 'sysfs'. For example, to list the
the supported types for the device '0000:00:02.0' you can simply list them supported types for the device '0000:00:02.0' you would simply execute:
with:
---- ----
# ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types # ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types
@ -329,13 +329,13 @@ with:
Each entry is a directory which contains the following important files: Each entry is a directory which contains the following important files:
* 'available_instances' contains the amount of still available instances of this * 'available_instances' contains the amount of still available instances of
type this type, each 'mdev' use in a VM reduces this.
* 'description' contains a short description about the capabilities of the type * 'description' contains a short description about the capabilities of the type
* 'create' is the endpoint to create such a device, in {pve} this happens * 'create' is the endpoint to create such a device, {pve} does this
automatically if you specify a type with a 'hostpciX' line. automatically for you, if a 'hostpciX' option with `mdev` is configured.
Example configuration of a Intel GVT-g vGPU on an Intel Skylake 6700k Processor: Example configuration with an `Intel GVT-g vGPU` (`Intel Skylake 6700k`):
---- ----
# qm set VMID -hostpci0 00:02.0,mdev=i915-GVTg_V5_4 # qm set VMID -hostpci0 00:02.0,mdev=i915-GVTg_V5_4