AMD Linux工程师今天发布的一个新补丁系列证实,PCIe TPH将由“即将推出的AMD硬件”支持,作为PCI Express的一个不错的性能优化功能。
PCI Express TLP处理提示(TPH)是当系统中存在多个可能的缓存位置时,可以注入的用于改善延迟和降低流量拥塞的提示。TLP处理提示可以记录事务层数据包(TLP)的最佳位置。今天发出的是AMD的一组Linux内核补丁,用于实现PCIe TPH,并确认这将得到即将推出的AMD硬件的支持。。。考虑到这些补丁的时间安排,以及AMD在几代人之后往往无法实现Linux功能,这可能适用于Zen 5处理器。无论是适用于所有Zen 5处理器,还是仅限于AMD EPYC Zen 5芯片,从今天的补丁来看,它将是最有益的。
AMD补丁系列的封面信进一步解释道:
“TPH(TLP处理提示)是一种PCIe功能,允许端点设备为以内存空间为目标的请求提供优化提示。这些提示以称为引导标签(ST)的格式提供在请求者的TLP标头中,并允许系统硬件(包括根复合体)优化请求的平台资源利用率。
即将推出的AMD硬件实现了利用TPH的新缓存注入功能。高速缓存注入允许PCIe端点将I/O相干DMA写入直接注入CCX(核心复合体)内的L2,该L2最靠近将要消耗它的CPU核心。该技术针对的是性能对CPU核心所看到的入站写入延迟敏感的应用程序。这些应用程序包括网络和存储应用程序。
本系列在Linux中实现了通用的TPH支持。它允许ST从ACPI _DSM(由ACPI定义)中检索,并由PCIe端点驱动程序根据需要使用。作为演示,它包括Broadcom BNXT驱动程序中的一个使用示例。当在具有正确固件的Broadcom NIC上运行时,Cache Injection使用真实世界的基准测试显示了显著的内存带宽节约。\"
Exciting feature! There are 9 patches out for review implementing the kernel-side functionality. Hopefully it will be upstreamed soon in time for that upcoming AMD hardware with the PCIe TPH support. With this patch series besides the core PCIe TPH enablement in the Linux kernel, only the Broadcom BNXT \"bnxt_en\" network driver is initially modified for making use of PCIe TPH support but hopefully other driver adaptations will come in time now that hardware support will be rolling out.