2.5 KiB
PCIe link verdict comes from real traffic, not forced retraining
Date: 2026-09-03 Status: active
Evidence
On bee@172.16.41.97, build 14.02-1-g642e686, three independent runs of
PCIe Link Check (forced retrain) reported all eight NVIDIA GPUs and their
eight upstream bridges at Gen1 x16 after retraining, against Gen5 x16
capability. In the same application history, every dcgmi diag -r nvbandwidth run brought every GPU to Gen5 x16 and passed. There were no AER
or NVIDIA Xid events supporting a physical link fault.
This disproves the premise that setting the PCIe Retrain Link bit is a generic substitute for device traffic. On this hardware and driver, a link can complete a forced retrain and remain in its idle Gen1 state. Counting both the endpoint and its upstream bridge also reports one physical link twice.
Decision
- Remove the standalone
pcie-linkforced-retrain SAT from code, API, UI, and Run All planning. - Remove the separate
nvidia-pcie-bandwidthSAT. It duplicated the same approximately 45-minutenvbandwidthworkload already run bynvidia-bandwidth. - Extend
nvidia-bandwidthto record a sysfs baseline before the test and sample negotiated speed and width synchronously when the final all-GPUdcgmi diag -r nvbandwidthcommand exits. The sample runs before later health probes and artifact processing can let the link return to idle. - Append
pcie_link_under_load_status, per-GPU PCIe status, and the degraded count to the existing summary. A supported GPU that is still below its own maximum speed or width after real traffic fails the overall SAT. Missing sysfs attributes produceUNSUPPORTED, not a false failure. - Keep non-GPU PCIe inspection read-only and diagnostic. Without a device-specific traffic generator, current speed is inventory rather than a health verdict.
- When a new
nvidia-bandwidthresult is recorded, recompute the NVIDIA GPU component status while ignoring the retiredsat:pcie-linkandsat:nvidia-pcie-bandwidthsources. Their history remains auditable. Other failures, such asnvidia-configor Xid-derived warnings, remain sticky.
Consequences
Run All performs one fewer short but misleading test and one fewer duplicate
long GPU bandwidth test. A Gen1 idle baseline no longer alarms when the same
link reaches Gen5 x16 under traffic. A genuine under-load speed or width
downgrade still fails the bandwidth SAT and reaches pcie:gpu:nvidia.
Old task directories and component history remain readable. The removed API targets are no longer accepted for new tasks.