虽然 Linux 6.13 中有许多很棒的新功能,比如 AMD 3D V-Cache Optimizer 驱动程序,但其中一个没有在当前内核周期中及时推出的功能是实现 AMD 硬件反馈接口 (HFI) 的补丁。但这项工作仍在进行中,上周带来了补丁的第七次迭代。
在过去的几个月里,AMD Linux 工程师一直在研究适用于 Linux 系统的 AMD HFI CPU 内核驱动程序,以更好地处理其异构 CPU 内核设计,混合使用经典的“完整”内核和专注于能效的较小密集内核。他们在之前的 Linux 内核版本中已经在这一领域进行了各种改进,而这种 HFI 功能应该是此类 CPU 向前迈出的一大步。
AMD Linux 团队的 Mario Limonciello 在最近的 v7 补丁系列中解释了 AMD HFI 的这项工作:
“AMD 异构内核设计和硬件反馈接口 (HFI) 为调度程序提供行为分类和动态更新的排名表,供调度程序在为任务选择内核时使用。
线程在运行时被分类为枚举类。目前,该驱动程序支持 3 个类(0 到 2)。这些类表示可能受益于特殊调度行为的线程性能/功耗特征。实时线程分类由操作系统使用,用于通知计划程序应将线程放置在何处以获得最佳性能或能效。
线程分类有助于从排名表中选择 CPU,该表从两个维度描述了每个分类的效率和性能排名。
排名表提供的排名数据是 0 到 255 之间的数字,其中性能值越高表示性能能力越高,效率越高表示效率越高。所有 CPU 内核都分为不同的类 ID。在每个类排名中,核心可能具有不同的排名值。因此,从每个分类 ID 中选取将允许调度程序在稍后将线程分类到指定的工作负载类时选择最佳内核。
已发现这种 AMD HFI 支持在各种基准测试中可将 AMD 异构 CPU 上的 Linux 性能平均提高 2~5%。不过,这项工作的缺点是流程上下文切换成本略高。
一旦这些补丁准备好用于主线,它们将通过 “AMD_HFI” Kconfig 构建选项公开。对于感兴趣的人,可以通过此文档补丁获得更多背景信息。
转自 AMD Hardware Feedback Interface “HFI” Patches Updated For The Linux Kernel – Phoronix