On 11/4/26 16:32, David Vrabel wrote:
> When a VM has been assigned a number of PCIe devices behind a common
> PCIe switch and the VM intends to use peer-to-peer (P2P) transfers
> between the devices, it is useful to be able to more report the
> apparent PCIe bandwidth so it reflects the real handwidth of the
> underlying hardware. This allows software in the VM (such as NCCL[1])
> to make better decisions about whether to use P2P or not.
>
> The future QEMU 11.2[1] will support new upstream and downstream port
> models that have configurable speed and width properties and extend
> the existing root port model to support the same options.
>
> If supported by QEMU, prefer the new upstream and downstream port
> models, and support new attributes to set the speed and width.
>
> Patch 1 (tests: Update QEMU 11.2.0 x86_64 caps for generic PCIe switch
> ports qemu: add capabilities for generic PCIe switch port devices)
> should be replaced with a more comprehensive refresh of the QEMU
> capabilities, and is only included here so tests continue to pass.
>
> David
>
> [1] See QEMU commits 432b3f707a3c (hw/pci-bridge: Make speed and width for
> PCIe ports non-experimental) and 73962cc5f06a (hw/pci-bridge: Add
> generic PCIe switch upstream and downstream ports).
>
> David Vrabel (6):
> tests: Update QEMU 11.2.0 x86_64 caps for generic PCIe switch ports
> qemu: add capabilities for generic PCIe switch port devices
> qemu: support generic PCIe switch port models
> qemu: add capabilities for pcie-root-port speed and width properties
> qemu: add PCIe link speed and width attributes
> NEWS: mention generic PCIe switch ports and link speed/width
You earn bonus points for remembering to add NEWS entries :-)
> 46 files changed, 1170 insertions(+), 120 deletions(-)
> create mode 100644 tests/qemuxmlconfdata/pci-bridge-speed.x86_64-latest.err
> create mode 100644 tests/qemuxmlconfdata/pci-bridge-speed.xml
> create mode 100644 tests/qemuxmlconfdata/pcie-root-port-speed-ioh3420.x86_64-latest.err
> create mode 100644 tests/qemuxmlconfdata/pcie-root-port-speed-ioh3420.xml
> create mode 100644 tests/qemuxmlconfdata/pcie-root-port-speed-width.x86_64-11.0.0.err
> create mode 100644 tests/qemuxmlconfdata/pcie-root-port-speed-width.x86_64-latest.args
> create mode 100644 tests/qemuxmlconfdata/pcie-root-port-speed-width.x86_64-latest.xml
> create mode 100644 tests/qemuxmlconfdata/pcie-root-port-speed-width.xml
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-downstream-port-model-generic.x86_64-11.1.0.err
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-downstream-port-model-generic.x86_64-latest.args
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-downstream-port-model-generic.x86_64-latest.xml
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-downstream-port-model-generic.xml
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-downstream-port-width-xio3130.x86_64-latest.err
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-downstream-port-width-xio3130.xml
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-downstream-port.x86_64-11.1.0.args
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-downstream-port.x86_64-11.1.0.xml
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-upstream-port-model-generic.x86_64-11.1.0.err
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-upstream-port-model-generic.x86_64-latest.args
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-upstream-port-model-generic.x86_64-latest.xml
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-upstream-port-model-generic.xml
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-upstream-port.x86_64-11.1.0.args
> create mode 100644 tests/qemuxmlconfdata/pcie-switch-upstream-port.x86_64-11.1.0.xml
>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
and will merge after Peter refreshes caps.
Michal