[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190422183347.51ba522c@x1.home>
Date: Mon, 22 Apr 2019 18:33:47 -0600
From: Alex Williamson <alex.williamson@...hat.com>
To: Alex G <mr.nuke.me@...il.com>
Cc: bhelgaas@...gle.com, helgaas@...nel.org, linux-pci@...r.kernel.org,
austin_bolen@...l.com, alex_gagniuc@...lteam.com,
keith.busch@...el.com, Shyam_Iyer@...l.com, lukas@...ner.de,
okaya@...nel.org, torvalds@...ux-foundation.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] PCI/LINK: Account for BW notification in vector
calculation
On Mon, 22 Apr 2019 19:05:57 -0500
Alex G <mr.nuke.me@...il.com> wrote:
> On 4/22/19 5:43 PM, Alex Williamson wrote:
> > [ 329.725607] vfio-pci 0000:07:00.0: 32.000 Gb/s available PCIe bandwidth,
> > limited by 2.5 GT/s x16 link at 0000:00:02.0 (capable of 64.000 Gb/s with 5
> > GT/s x16 link)
> > [ 708.151488] vfio-pci 0000:07:00.0: 32.000 Gb/s available PCIe bandwidth,
> > limited by 2.5 GT/s x16 link at 0000:00:02.0 (capable of 64.000 Gb/s with 5
> > GT/s x16 link)
> > [ 718.262959] vfio-pci 0000:07:00.0: 32.000 Gb/s available PCIe bandwidth,
> > limited by 2.5 GT/s x16 link at 0000:00:02.0 (capable of 64.000 Gb/s with 5
> > GT/s x16 link)
> > [ 1138.124932] vfio-pci 0000:07:00.0: 32.000 Gb/s available PCIe bandwidth,
> > limited by 2.5 GT/s x16 link at 0000:00:02.0 (capable of 64.000 Gb/s with 5
> > GT/s x16 link)
> >
> > What is the value of this nagging?
>
> Good! The bandwidth notification service is working as intended. If this
> bothers you, you can unbind the device from the bandwidth notification
> driver:
>
> echo 0000:07:00.0:pcie010 |
> sudo tee /sys/bus/pci_express/drivers/pcie_bw_notification/unbind
That's a bad solution for users, this is meaningless tracking of a
device whose driver is actively managing the link bandwidth for power
purposes. There is nothing wrong happening here that needs to fill
logs. I thought maybe if I enabled notification of autonomous
bandwidth changes that it might categorize these as something we could
ignore, but it doesn't. How can we identify only cases where this is
an erroneous/noteworthy situation? Thanks,
Alex
> > diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
> > index 7d04f9d087a6..1b330129089f 100644
> > --- a/drivers/pci/pcie/portdrv_core.c
> > +++ b/drivers/pci/pcie/portdrv_core.c
> > @@ -55,7 +55,8 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
> > * 7.8.2, 7.10.10, 7.31.2.
> > */
> >
> > - if (mask & (PCIE_PORT_SERVICE_PME | PCIE_PORT_SERVICE_HP)) {
> > + if (mask & (PCIE_PORT_SERVICE_PME | PCIE_PORT_SERVICE_HP |
> > + PCIE_PORT_SERVICE_BWNOTIF)) {
> > pcie_capability_read_word(dev, PCI_EXP_FLAGS, ®16);
> > *pme = (reg16 & PCI_EXP_FLAGS_IRQ) >> 9;
> > nvec = *pme + 1;
>
> Good catch!
Powered by blists - more mailing lists