[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