[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220517145539.7265b41a.alex.williamson@redhat.com>
Date: Tue, 17 May 2022 14:55:39 -0600
From: Alex Williamson <alex.williamson@...hat.com>
To: Abhishek Sahu <abhsahu@...dia.com>
Cc: Cornelia Huck <cohuck@...hat.com>,
Yishai Hadas <yishaih@...dia.com>,
Jason Gunthorpe <jgg@...dia.com>,
Shameer Kolothum <shameerali.kolothum.thodi@...wei.com>,
Kevin Tian <kevin.tian@...el.com>,
"Rafael J . Wysocki" <rafael@...nel.org>,
Max Gurtovoy <mgurtovoy@...dia.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
<linux-kernel@...r.kernel.org>, <kvm@...r.kernel.org>,
<linux-pm@...r.kernel.org>, <linux-pci@...r.kernel.org>
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@...hat.com> wrote:
> On Tue, 17 May 2022 15:32:19 +0530
> Abhishek Sahu <abhsahu@...dia.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
Powered by blists - more mailing lists