Messages in this thread | | | Date | Tue, 17 May 2022 14:55:39 -0600 | From | Alex Williamson <> | Subject | Re: [PATCH v4 4/4] vfio/pci: Move the unused device into low power state with runtime PM |
| |
On Tue, 17 May 2022 14:42:56 -0600 Alex Williamson <alex.williamson@redhat.com> wrote:
> On Tue, 17 May 2022 15:32:19 +0530 > Abhishek Sahu <abhsahu@nvidia.com> wrote: > > 5. Since the runtime PM framework will provide the same functionality, > > so directly writing into PCI PM config register can be replaced with > > the use of runtime PM routines. Also, the use of runtime PM can help > > us in more power saving. > > > > In the systems which do not support D3cold, > > > > With the existing implementation: > > > > // PCI device > > # cat /sys/bus/pci/devices/0000\:01\:00.0/power_state > > D3hot > > // upstream bridge > > # cat /sys/bus/pci/devices/0000\:00\:01.0/power_state > > D0 > > > > With runtime PM: > > > > // PCI device > > # cat /sys/bus/pci/devices/0000\:01\:00.0/power_state > > D3hot > > // upstream bridge > > # cat /sys/bus/pci/devices/0000\:00\:01.0/power_state > > D3hot > > I'm not able to reproduce these results. Output below abridged: > > # lspci -t > -[0000:00]-+-00.0 > +-01.0-[01]--+-00.0 > | \-00.1 > > # grep . /sys/bus/pci/devices/*/power_state > /sys/bus/pci/devices/0000:00:01.0/power_state:D0 > /sys/bus/pci/devices/0000:01:00.0/power_state:D3hot > /sys/bus/pci/devices/0000:01:00.1/power_state:D3hot > > # lspci -ks $DEV > 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09) > Kernel driver in use: pcieport > 01:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750] (rev a2) > Subsystem: eVga.com. Corp. Device 2753 > Kernel driver in use: vfio-pci > 01:00.1 Audio device: NVIDIA Corporation GM107 High Definition Audio Controller [GeForce 940MX] (rev a1) > Subsystem: eVga.com. Corp. Device 2753 > Kernel driver in use: vfio-pci > Kernel modules: snd_hda_intel > > Any debugging suggestions? Thanks,
Nevermind, I see a whole bunch of reasons in pci_bridge_d3_possible() that runtime-pm wouldn't support D3hot on this bridge/system. Thanks,
Alex
| |