VF ITS Selection
On a server platform that supports multiple interrupt translation services (ITSs), virtual functions (VFs) created under a physical function (PF) of a physical peripheral component interconnect (PCI) device use the I/O Remapping Table (IORT)/PCI device interrupt domain parsing path by default. This default path forces VFs to select the same ITS as the PF. When the ITS used by the PF is overloaded, the VF performance is affected.
The VF ITS selection feature provides a PF-level sysfs interface, which allows users to configure a group of ITSs that can be used by VFs for a PF (by specifying the ITS raw indexes). Before accepting the configuration, the kernel verifies the configuration based on the ITS currently used by the PF, platform topology rules, and the chip capability trustlist. The configuration is saved and takes effect during subsequent VF enumeration only when all conditions are met.
It should be noted that this feature provides the VF ITS selection capability restricted by the platform, instead of the universal ITS remapping capability. The configuration items must match the current-platform IORT ITS registration sequence, the current ITS used by the PF, and the chip model.
Constraints
- The hardware platform supports only Kunpeng 950 processors.
- Software constraints are as follows:
OS |
openEuler 24.03 LTS SP3 |
|---|---|
Kernel source code baseline |
OLK-6.6 6.6.0-133.0.0 |
libvirt |
9.1.0 (Yum repository) |
QEMU |
8.2.0 (Yum repository) |
BIOS |
10.79 |
Application Scenarios
In VM scenarios with GICv4.1 enabled, a passthrough NIC VF or an NVMe drive VF when encountering heavy interrupt pressure can select a less-loaded ITS to achieve smaller performance degradation.