Re: Linux 5.15-rc1

From: Heiner Kallweit
Date: Mon Sep 13 2021 - 16:11:51 EST


On 13.09.2021 21:51, Linus Torvalds wrote:
> On Mon, Sep 13, 2021 at 12:00 PM Heiner Kallweit <hkallweit1@xxxxxxxxx> wrote:
>>
>> With an older kernel you may experience the stall when accessing the vpd
>> attribute of this device in sysfs.
>
> Honestly, that old behavior seems to be the *much* better behavior.
>
> A synchronous stall at boot time is truly annoying, and a pain to deal
> with (and debug).
>
> That pci_vpd_read() function is clearly NOT designed to deal with
> boot-time callers in the first place, so I think that commit is simply
> wrong.
>
> And yes, I see that "128ms timeout". If it was _one_ timeout, that
> would be one thing,. But it looks like it's repeated over and over.
>
No. The timeout is not the issue, otherwise you would see the message
"VPD access failed.." over and over again. The issue here seems to be
that this call in PCI config space access to adress
vpd->cap + PCI_VPD_ADDR stalls.

In a first place this seems to be due to a buggy device. We'll know
for sure once Dave checks with the test patch applied. To deal with
such buggy devices we have the VPD blacklist quirk.

Secondly you could blame the PCI subsystem for not detecting stalled
access to a buggy device. However I don't know the PCIe spec good
enough to really comment on this.

> Not acceptable at boot time. Not at all.
>
> Bjorn. Please revert. Or I can do it.
>
> Linus
>
Heiner