Sent out today were the big set of PCI subsystem updates ready to be merged for the Linux 6.13 kernel. Most notable of the PCI updates is PCI Express TLP Processing Hints (TPH) with that kernel support worked on by AMD engineers as part of one of the new hardware features found with the AMD EPYC 9005 server processors. Over on the Intel side is the new PCIe cooling driver and other changes.
Going back to May long before the 5th Gen EPYC “Turin” processors were introduced, AMD was working on the PCIe TPH Linux support and that code was on my radar. At the time it was only confirmed to be supported for “upcoming CPUs” but since announced in October as one of the notable new features with the Zen 5 server processors. The PCI Express TLP Processing Hints (TPH) are hints that can be injected for improving latency and lowering traffic congestion when there are several possible cache locations in the system.
Building off the PCIe TPH support is also AMD Smart Data Cache Injection for going after direct insertion of data from I/O devices into the L3 cache. AMD SDCI is also supported as part of the AMD EPYC 9005 processors.
With today’s PCI subsystem pull request for Linux 6.13, it explains of the initial PCIe TPH enablement in the kernel:
TLP Processing Hints (TPH):
– Add and document TLP Processing Hints (TPH) support so drivers can enable and disable TPH and the kernel can save/restore TPH configuration (Wei Huang)
– Add TPH Steering Tag support so drivers can retrieve Steering Tag values associated with specific CPUs via an ACPI _DSM to improve performance by directing DMA writes closer to their consumers (Wei Huang)
This depends upon driver integration like for high speed network adapters to the information. AMD for their part with the patches had demonstrated TPH integration with the Broadcom BNXT wired network driver. We’ll see what more drivers adopt this integration as more TPH-capable servers appear in data centers.
In addition to this PCIe TLP Processing Hints infrastructure, the PCI pull request also includes improved logic for trusting built-in Thunderbolt controllers, better handling of ASPM L1 per specifications, enabling runtime power management for host bridges, re-introducing Link Bandwidth notification support after the code was previously reverted, and the Intel PCIe cooling driver for reducing bandwidth when hardware is running hot.
Intel engineers had been working on the PCIe cooling driver since last year for being able to reduce the link speed to cope with thermal problems. With the PCI Express 6.0 spec they may also be able to reduce the link width for further dealing with thermal troubles. This PCIe bandwidth reduction is just a last resort for dealing with thermal issues.
The full list of PCI subsystem changes for the in-development Linux 6.13 kernel can be found via this pull request. Linux 6.13 stable will be out around late January or early February depending upon how this cycle plays out especially with the end-of-year holidays playing into this kernel period.