评估Linux-CentOS/Intel机器上的SMI(系统管理中断)延迟

 帅帅考拉_955 发布于 2022-12-27 09:18

我有兴趣评估运行CentOS的Linux机器上SMI处理的行为(延迟,频率),并用于(非常)软实时应用程序.

    推荐使用哪些工具(针对CentOS的hwlatdetect?),以及最佳解决方案是什么?

    如果没有可用于CentOS的好工具,我是否正确假设在同一台机器上安装不同的操作系统应该产生相同的结果,因为底层硬件/ BIOS是相同的?

    关于这些参数的球场数据是否有任何来源.

这些机器是X86_64架构,运行CentOS 6.4(内核2.6.32-358.23.2.el2.centos.plus.x86_64.)

1 个回答
  • SMI在正常运行期间肯定会发生.我的家用台式机在芯片组中启用了芯片组驱动的SMI,每秒一半.由于BIOS驱动的CPU频率扩展方案,我也看到一些服务器每秒两次.但是,有些系统可能会长时间没有发生SMI,所以它真的取决于它.

    问题#1:hwlatdetect是检测系统上发生的SMI延迟的一种选择.BIOSBITS是另一个选项,它是一个可引导的CD,可以识别SMI是否正在发生.您还可以通过创建在循环中旋转并采用时间戳(使用RDTSC)的内核模块来编写自己的测试.如果您看到两个时间戳读数之间存在较长的间隙,则可以查询CPU MSR 0x34以查看SMI计数器是否递增,这表示发生了SMI.

    如果要生成SMI,可以创建一个内核模块,对OUT端口0xb2执行OUT CPU指令,例如将值0写入此端口.(您也可以通过在写入端口0xB2之前和之后收集时间戳来计时此SMI).

    问题#2,SMI在操作系统以下的层运行,因此您选择的操作系统不会产生任何影响.

    问题3:BIOSBITS建议将SMI延迟保持在150微秒以下.

    2022-12-27 09:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有