NVIDIA Looks To Improve Power Management For Linux VFIO PCIe Devices

Written by Michael Larabel in NVIDIA on 17 November 2021 at 05:50 AM EST. 4 Comments
NVIDIA
NVIDIA is looking to enable run-time power management for the VFIO PCI Linux driver to allow for better power-savings.

For PCIe devices assigned to the vfio_pci driver for passing through to a guest virtual machine, a NVIDIA engineer sent out a patch series allowing for run-time power management. The VFIO PCI driver code currently has very limited power management handling and with this series the hope is moving the PCIe device from D3hot to D3cold state when appropriate to save on power consumption.
Currently, there is very limited power management support available in the upstream vfio-pci driver. If there is no user of vfio-pci device, then it will be moved into D3Hot state. Similarly, if we enable the runtime power management for vfio-pci device in the guest OS, then the device is being runtime suspended (for linux guest OS) and the PCI device will be put into D3hot state (in function vfio_pm_config_write()). If the D3cold state can be used instead of D3hot, then it will help in saving maximum power. The D3cold state can't be possible with native PCI PM. It requires interaction with platform firmware which is system-specific. To go into low power states (including D3cold), the runtime PM framework can be used which internally interacts with PCI and platform firmware and puts the device into the lowest possible D-States. This patch series registers the vfio-pci driver with runtime PM framework and uses the same for moving the physical PCI device to go into the low power state.

More details for those interested via this RFC patch series.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week