Re: Bug: Completion-Wait loop timed out with vfio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/1/2023 4:04 PM, Tasos Sahanidis wrote:
> On 2023-02-28 20:46, Alex Williamson wrote:
>> Can you do the same for the root port to the GPU, ex. use lspci -t to
>> find the parent root port.  Since the device doesn't seem to be
>> achieving D3cold (expected on a desktop system), the other significant
>> change of the identified commit is that the root port will also enter a
>> low power state.  Prior to that commit the device would enter D3hot, but
>> we never touched the root port.  Perhaps confirm the root port now
>> enters D3hot and compare lspci for the root port when using
>> disable_idle_d3 to that found when trying to use the device without
>> disable_idle_d3. Thanks,
>>
>> Alex
>>
> 
> I seem to have trouble understanding the lspci tree.
> 

 Can you please try following way to confirm the path

 ls -l /sys/bus/pci/devices

 It generally displays the full path like

 0000:03:00.0 -> ../../../devices/pci0000:00/0000:00:1c.5/0000:02:00.0/0000:03:00.0

 Also, Can you please print the runtime PM control entry as well

 /sys/bus/pci/devices/<root_port B:D:F>/power/control

 Thanks,
 Abhishek

> The tree is as follows:
> 
> -[0000:00]-+-00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex
> [...]      |
>            +-01.2-[02-0d]----00.0-[03-0d]--+-01.0-[04-05]----00.0-[05]--+-00.0  Creative Labs EMU10k2/CA0100/CA0102/CA10200 [Sound Blaster Audigy Series]
>            |                               |                            +-00.1  Creative Labs SB Audigy Game Port
>            |                               |                            +-01.0  Brooktree Corporation Bt878 Video Capture
>            |                               |                            \-01.1  Brooktree Corporation Bt878 Audio Capture
>            |                               +-02.0-[06]--+-00.0  Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM]
>            |                               |            \-00.1  Advanced Micro Devices, Inc. [AMD/ATI] Tobago HDMI Audio [Radeon R7 360 / R9 360 OEM]
>            |                               +-03.0-[07-08]----00.0-[08]--+-00.0  Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder
>            |                               |                            \-01.0  Yamaha Corporation YMF-744B [DS-1S Audio Controller]
>            |                               +-05.0-[09]----00.0  Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
>            |                               +-06.0-[0a]--+-00.0  MosChip Semiconductor Technology Ltd. PCIe 9912 Multi-I/O Controller
>            |                               |            +-00.1  MosChip Semiconductor Technology Ltd. PCIe 9912 Multi-I/O Controller
>            |                               |            \-00.2  MosChip Semiconductor Technology Ltd. PCIe 9912 Multi-I/O Controller
>            |                               +-08.0-[0b]--+-00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
>            |                               |            +-00.1  Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
>            |                               |            \-00.3  Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
>            |                               +-09.0-[0c]----00.0  Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode]
>            |                               \-0a.0-[0d]----00.0  Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode]
> [...]      |
> 
> The parent root port is either 0000:00:01.2 or 0000:00:02.0, correct?
> 00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
> 02:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse Switch Upstream
> 
> If so, I tested in 5.18, both before and while running the VM, with 6.2
> both with and without disable_idle_d3, and in all cases they stayed at D0.
> 
> Only difference was the card itself would be at D0 instead of D3hot with
> disable_idle_d3. In the working 5.18, without disable_idle_d3, it would
> still enter D3hot.
> 
> ==> 5_18_before_vm <==
> # cat /sys/bus/pci/devices/0000:02:00.0/power_state
> D0
> # cat /sys/bus/pci/devices/0000:02:00.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:01.2/power_state
> D0
> # cat /sys/bus/pci/devices/0000:00:01.2/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:02.0/power_state
> unknown
> # cat /sys/bus/pci/devices/0000:00:02.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:06:00.0/power_state
> D3hot
> # cat /sys/bus/pci/devices/0000:06:00.0/power/runtime_status
> active
> 
> ==> 5_18_running_vm <==
> # cat /sys/bus/pci/devices/0000:02:00.0/power_state
> D0
> # cat /sys/bus/pci/devices/0000:02:00.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:01.2/power_state
> D0
> # cat /sys/bus/pci/devices/0000:00:01.2/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:02.0/power_state
> unknown
> # cat /sys/bus/pci/devices/0000:00:02.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:06:00.0/power_state
> D0
> # cat /sys/bus/pci/devices/0000:06:00.0/power/runtime_status
> active
> 
> ==> 6_2_before_vm <==
> # cat /sys/bus/pci/devices/0000:02:00.0/power_state
> D0
> # cat /sys/bus/pci/devices/0000:02:00.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:01.2/power_state
> D0
> # cat /sys/bus/pci/devices/0000:00:01.2/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:02.0/power_state
> unknown
> # cat /sys/bus/pci/devices/0000:00:02.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:06:00.0/power_state
> D3hot
> # cat /sys/bus/pci/devices/0000:06:00.0/power/runtime_status
> suspended
> 
> ==> 6_2_running_vm <==
> # cat /sys/bus/pci/devices/0000:02:00.0/power_state
> D0
> # cat /sys/bus/pci/devices/0000:02:00.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:01.2/power_state
> D0
> # cat /sys/bus/pci/devices/0000:00:01.2/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:02.0/power_state
> unknown
> # cat /sys/bus/pci/devices/0000:00:02.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:06:00.0/power_state
> D0
> # cat /sys/bus/pci/devices/0000:06:00.0/power/runtime_status
> active
> 
> ==> 6_2_before_vm_disable_idle_d3 <==
> # cat /sys/bus/pci/devices/0000:02:00.0/power_state
> D0
> # cat /sys/bus/pci/devices/0000:02:00.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:01.2/power_state
> D0
> # cat /sys/bus/pci/devices/0000:00:01.2/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:02.0/power_state
> unknown
> # cat /sys/bus/pci/devices/0000:00:02.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:06:00.0/power_state
> D0
> # cat /sys/bus/pci/devices/0000:06:00.0/power/runtime_status
> active
> 
> ==> 6_2_running_vm_disable_idle_d3 <==
> # cat /sys/bus/pci/devices/0000:02:00.0/power_state
> D0
> # cat /sys/bus/pci/devices/0000:02:00.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:01.2/power_state
> D0
> # cat /sys/bus/pci/devices/0000:00:01.2/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:00:02.0/power_state
> unknown
> # cat /sys/bus/pci/devices/0000:00:02.0/power/runtime_status
> active
> # cat /sys/bus/pci/devices/0000:06:00.0/power_state
> D0
> # cat /sys/bus/pci/devices/0000:06:00.0/power/runtime_status
> active
> 
> 0000:00:02.0 is Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
> and can presumably be ignored.
> 
> --
> Tasos




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux