Linux 5.19 性能变化带来了三个显着的 AMD 特性

Linux 5.19内核的性能事件更改为 AMD 带来了一些令人兴奋的平台 PMU 更新,同时也支持 Intel 方面的更新 CPU。

英特尔方面的平台 PMU 变化包括对 Alder Lake N 和 Raptor Lake P 处理器的支持。其他 Alder Lake 和 Raptor Lake 模型之前已添加到 Intel perf 代码中,而 Alder Lake N 和 Raptor Lake P 直到现在才被添加到内核代码中。这些新芯片只需要新的 ID,与 PMU 方面没有其他区别。

与 Linux 5.19 相比,AMD 方面的平台 PMU 变化更令人兴奋:

AMD Zen 4 IBS 扩展已合并。这是针对今年晚些时候推出的 Zen 4 处理器提供的新的基于指令的采样 (IBS) 功能。Linux 补丁确实清楚地表明 Zen 4 将提供新的 IBS 支持,而不是一些模糊的即将到来的/未来的处理器系列。Zen 4 处理器有多种基于指令的采样变化:

DataSrc 扩展为标记的加载/存储操作提供了额外的数据源详细信息。在性能报告/脚本原始转储中添加对这些新位的支持。

IBS L3 未命中过滤通过在 IBS 计数器溢出上标记指令并在标记的指令导致 L3 未命中时生成 NMI 来工作。丢弃没有 L3 未命中的样本,并使用随机值重置计数器(对于 fetch pmu,在 1-15 之间,对于 op pmu,在 1-127 之间)。当用户只对此类样本感兴趣时,这有助于减少采样开销。这种过滤样本的用例之一是将数据提供给分层内存系统中的页面迁移守护进程。

通过新的 pmu 属性“l3missonly”在 IBS 驱动程序中添加对 L3 未命中过滤的支持。

Linux 5.19 也将支持AMD PerfMonV2 。新的 AMD CPU 附带的更新的 AMD 性能监控功能需要对内核进行各种更改——此处没有明确提及 Zen 4,但假设是这种情况。AMD 性能监控 V2 具有新的“全局”寄存器,允许同时启用/禁用多个性能计数器。到目前为止,使用 AMD 性能监控,不同的性能计数器控件都必须单独设置,而现在可以使用存在的全局寄存器一次性轻松设置。AMD 性能监控 V2 还允许系统地检测核心 PMC 的数量,而不是在每个系列的基础上进行静态设置。补丁已发布以供审查并及时为 Linux 5.19 搞定。

image.php_-8
新的 IBS 扩展和 PerfMonV2 用于即将推出的 Zen 4 CPU,而 BRS 分支采样作为一项最终连接到 Zen 3 和更新版本的功能登陆 Linux 5.19。

对于现有的 AMD Zen 3 处理器,Linux 5.19 现在支持新的分支采样“BRS”功能。追溯到去年,谷歌发布了 AMD BRS 补丁,用于将新的硬件分支采样功能集成到 Linux 的 perf 子系统中。带有 Zen 3 的 AMD BRS 允许收集有关在代码执行期间采取的分支的详细信息。谷歌工程师一直致力于这种 AMD BRS 支持,显然专注于利用数据将其输入到 AMD 处理器上的 AutoFDO 风格的编译器优化中。这是为了让编译器利用收集到的硬件数据,根据该分析做出更明智/更准确的优化决策。

AMD Branch Sampling 代码经过审核和修改过去几个月后,很高兴看到AMD BRS 已准备就绪,并作为 Linux 5.19 性能事件更改的一部分成功合并。AMD BRS 也有望出现在即将推出的 Zen 4 处理器中,但至少 Zen 3 客户也终于有了这个功能。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun169047.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2022年6月3日
下一篇 2022年6月3日

相关推荐