Re: Issues with "PCI/LINK: Report degraded links via link bandwidth notification"

From: Bjorn Helgaas
Date: Thu Jan 28 2021 - 18:40:54 EST


[+cc Atanas -- thank you very much for the bug report!]

On Sat, Feb 22, 2020 at 10:58:40AM -0600, Bjorn Helgaas wrote:
> On Wed, Jan 15, 2020 at 04:10:08PM -0600, Bjorn Helgaas wrote:
> > I think we have a problem with link bandwidth change notifications
> > (see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pci/pcie/bw_notification.c).
> >
> > Here's a recent bug report where Jan reported "_tons_" of these
> > notifications on an nvme device:
> > https://bugzilla.kernel.org/show_bug.cgi?id=206197
>
> AFAICT, this thread petered out with no resolution.
>
> If the bandwidth change notifications are important to somebody,
> please speak up, preferably with a patch that makes the notifications
> disabled by default and adds a parameter to enable them (or some other
> strategy that makes sense).
>
> I think these are potentially useful, so I don't really want to just
> revert them, but if nobody thinks these are important enough to fix,
> that's a possibility.

Atanas is also seeing this problem and went to the trouble of digging
up this bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=206197#c8

I'm actually a little surprised that we haven't seen more reports of
this. I don't think distros enable CONFIG_PCIE_BW, but even so, I
would think more people running upstream kernels would trip over it.
But maybe people just haven't turned CONFIG_PCIE_BW on.

I don't have a suggestion; just adding Atanas to this old thread.

> > There was similar discussion involving GPU drivers at
> > https://lore.kernel.org/r/20190429185611.121751-2-helgaas@xxxxxxxxxx
> >
> > The current solution is the CONFIG_PCIE_BW config option, which
> > disables the messages completely. That option defaults to "off" (no
> > messages), but even so, I think it's a little problematic.
> >
> > Users are not really in a position to figure out whether it's safe to
> > enable. All they can do is experiment and see whether it works with
> > their current mix of devices and drivers.
> >
> > I don't think it's currently useful for distros because it's a
> > compile-time switch, and distros cannot predict what system configs
> > will be used, so I don't think they can enable it.
> >
> > Does anybody have proposals for making it smarter about distinguishing
> > real problems from intentional power management, or maybe interfaces
> > drivers could use to tell us when we should ignore bandwidth changes?
> >
> > Bjorn