[PATCH v2 0/4] PCI: Rework error reporting with PCIe failed link retraining

Maciej W. Rozycki posted 4 patches 1 year, 6 months ago
There is a newer version of this series
[PATCH v2 0/4] PCI: Rework error reporting with PCIe failed link retraining
Posted by Maciej W. Rozycki 1 year, 6 months ago
Hi,

 This is v2 superseding a patch series originally posted here: 
<https://lore.kernel.org/r/alpine.DEB.2.21.2402092125070.2376@angie.orcam.me.uk/>.

 This patch series addresses issues observed by Ilpo as reported here: 
<https://lore.kernel.org/r/aa2d1c4e-9961-d54a-00c7-ddf8e858a9b0@linux.intel.com/>, 
one with excessive delays happening when `pcie_failed_link_retrain' is 
called, but link retraining has not been actually attempted, and another 
one with an API misuse caused by a merge mistake.

 It also addresses an issue observed by Matthew as discussed here: 
<https://lore.kernel.org/r/20240806000659.30859-1-mattc@purestorage.com/> 
and here: 
<https://lore.kernel.org/r/20240722193407.23255-1-mattc@purestorage.com/>. 
where a stale LBMS bit state causes `pcie_failed_link_retrain', in the 
absence of a downstream device, to leave the link stuck at the 2.5GT/s 
speed rate, which then negatively impacts devices plugged in in the 
future.

 See individual change description for further details; 1/4 and 2/4 are 
new changes, 3/4 supersedes: 
<https://patchwork.kernel.org/project/linux-pci/patch/alpine.DEB.2.21.2402100045590.2376@angie.orcam.me.uk/>, 
and 4/4 supersedes: 
<https://patchwork.kernel.org/project/linux-pci/patch/alpine.DEB.2.21.2402100048440.2376@angie.orcam.me.uk/>.

 These changes have been verified with a SiFive HiFive Unmatched system, 
also using a small debug change to verify that the state of the LBMS bit 
is clear at the exit from `pcie_failed_link_retrain'.

 Ilpo, since 3/4 and 4/4 have only been trivially updated and their 
combined effect is not changed even I chose to retain your Reviewed-by 
tags from v1.  Let me know if you disagree and what to do so you don't.

 I apologise to take so long, it's been a tough period to me load-wise.

  Maciej
Re: [PATCH v2 0/4] PCI: Rework error reporting with PCIe failed link retraining
Posted by Bjorn Helgaas 1 year, 6 months ago
On Fri, Aug 09, 2024 at 02:24:40PM +0100, Maciej W. Rozycki wrote:
> Hi,
> 
>  This is v2 superseding a patch series originally posted here: 
> <https://lore.kernel.org/r/alpine.DEB.2.21.2402092125070.2376@angie.orcam.me.uk/>.
> 
>  This patch series addresses issues observed by Ilpo as reported here: 
> <https://lore.kernel.org/r/aa2d1c4e-9961-d54a-00c7-ddf8e858a9b0@linux.intel.com/>, 
> one with excessive delays happening when `pcie_failed_link_retrain' is 
> called, but link retraining has not been actually attempted, and another 
> one with an API misuse caused by a merge mistake.
> 
>  It also addresses an issue observed by Matthew as discussed here: 
> <https://lore.kernel.org/r/20240806000659.30859-1-mattc@purestorage.com/> 
> and here: 
> <https://lore.kernel.org/r/20240722193407.23255-1-mattc@purestorage.com/>. 
> where a stale LBMS bit state causes `pcie_failed_link_retrain', in the 
> absence of a downstream device, to leave the link stuck at the 2.5GT/s 
> speed rate, which then negatively impacts devices plugged in in the 
> future.
> 
>  See individual change description for further details; 1/4 and 2/4 are 
> new changes, 3/4 supersedes: 
> <https://patchwork.kernel.org/project/linux-pci/patch/alpine.DEB.2.21.2402100045590.2376@angie.orcam.me.uk/>, 
> and 4/4 supersedes: 
> <https://patchwork.kernel.org/project/linux-pci/patch/alpine.DEB.2.21.2402100048440.2376@angie.orcam.me.uk/>.
> 
>  These changes have been verified with a SiFive HiFive Unmatched system, 
> also using a small debug change to verify that the state of the LBMS bit 
> is clear at the exit from `pcie_failed_link_retrain'.
> 
>  Ilpo, since 3/4 and 4/4 have only been trivially updated and their 
> combined effect is not changed even I chose to retain your Reviewed-by 
> tags from v1.  Let me know if you disagree and what to do so you don't.
> 
>  I apologise to take so long, it's been a tough period to me load-wise.

Applied to pci/enumeration for v6.12, thanks for all this debugging
and work.

Matthew, let me know if this addresses the problems you saw, and I can
add your tested-by if appropriate.

Bjorn