On Wed, Jan 15, 2020 at 08:44:21PM -0600, Alex G wrote: > Hi Bjorn, > > I'm no longer working on this, so my memory may not be up to speed. If the > endpoint is causing the bandwidth change, then we should get an _autonomous_ > link management interrupt instead. I don't think we report those, and that > shouldn't spam the logs > > If it's not a (non-autonomous) link management interrupt, then something is > causing the downstream port to do funny things. I don't think ASPM is > supposed to be causing this. > > Do we know what's causing these swings? > > For now, I suggest a boot-time parameter to disable link speed reporting > instead of a compile time option. If we add a parameter, it would have to be that reporting is disabled by default, and the parameter would enable it. That way the default will not spam the logs and cause more problem reports. I don't have time to debug this and I don't like boot parameters in general, so somebody else will have to step up to resolve this. At the very least, we need a Kconfig update to warn about the possibility, and we may need to consider reverting this if we don't have a better solution. > On 1/15/20 4:10 PM, 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 > > > > 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 > >