[SRU][Focal][PATCH 0/4] Enable sysfs reporting for 32 GT/s PCI link speed

Ian May ian.may at canonical.com
Tue May 3 14:42:15 UTC 2022


BugLink: https://bugs.launchpad.net/bugs/1970798

SRU Justification

[Impact]

NVIDIA Collective Communication Library software uses sysfs to report performance statistics. Users have reported entries showing "Unknown speed" when they should be reporting "32 GT/s".

Example:
"<pci busid="0000:0c:00.0" class="0x020700" vendor="0x15b3" device="0x1021" subsystem_vendor="0x15b3" subsystem_device="0x0082" link_speed="Unknown speed" link_width="16">"

PCIe 5.0 supports 32 GT/s and is available in the 5.4 kernel, but the patches for properly reporting speeds in sysfs are missing. The following upstream v5.7 patches add the reporting capability.

PCI ML submission
https://lore.kernel.org/linux-pci/20200229030706.17835-1-helgaas@kernel.org/

Upstream Patches
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9cb3985af63555810bb07de50acdf4170771451d

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e56faff57f0b39661093c00e0262d4ab9088830e

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6348a34dcb98d8e285685a205f2a601817fa2d38

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=757bfaa2c3515803dde9a6728bbf8c8a3c5f098a

[Test Plan]

Testing these speeds requires special hardware. A Test kernel with these patches applied was provided to the customer and they confirmed the proper numbers are reported.

[Where problems could occur]

Changes are for reporting info so chance of problems should be low. If a problem did occur it would be with sysfs or pcie driver misreporting speeds.

[ Other ]

SF-00333784

Bjorn Helgaas (2):
  UBUNTU: SAUCE: PCI: Add pci_speed_string()
  UBUNTU: SAUCE: PCI: Use pci_speed_string() for all PCI/PCI-X/PCIe
    strings

Yicong Yang (2):
  UBUNTU: SAUCE: PCI: Add 32 GT/s decoding in some macros
  UBUNTU: SAUCE: PCI: Add PCIE_LNKCAP2_SLS2SPEED() macro

 drivers/pci/pci-sysfs.c | 27 +++++----------------------
 drivers/pci/pci.c       | 23 +++++++----------------
 drivers/pci/pci.h       | 19 +++++++++++--------
 drivers/pci/probe.c     | 40 ++++++++++++++++++++++++++++++++++++++++
 drivers/pci/slot.c      | 38 +-------------------------------------
 include/linux/pci.h     |  2 +-
 6 files changed, 65 insertions(+), 84 deletions(-)

-- 
2.25.1




More information about the kernel-team mailing list