您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

SMI当然可以在正常运行期间发生。我的家用台式机每隔一半有一个由芯片组驱动的SMI,它在芯片组中启用。我还看到有些服务器由于BIOS驱动的cpu频率缩放方案而每秒两次拥有它们。但是,某些系统可能会长时间运行而不会发生SMI,因此它确实取决于。

问题1:hwlatdetect是检测系统上发生的SMI延迟的一种方法。BIOSBITS是另一种选项,它是可引导CD,可以识别是否正在发生SMI。您还可以通过创建一个内核模块来编写自己的测试,该内核模块循环旋转并占用时间戳(使用RDTSC)。如果您看到两个时间戳读数之间有很长的间隔,则可以查询cpu MSR 0x34,以查看SMI计数器是否增加,这表明发生了SMI。

如果要生成SMI,则可以使内核模块对端口0xb2执行OUT cpu指令,例如,将值0写入该端口。(您也可以通过在写入端口0xB2之前和之后收集时间戳来为该SMI计时)。

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

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

其他 2022/1/1 18:17:34 有529人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶