加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux内核在压力下具有更好的响应时间

发布时间:2020-12-14 00:53:28 所属栏目:Linux 来源:网络整理
导读:我有一种我无法理解的stange行为: 出于性能测量的目的,我使用’旧’并行端口接口在debian内核3.2.0-4-amd64上生成IRQ(我使用连接到ACK引脚的外部信号发生器). 我编写了自己的内核模块(仅限上半部分)来处理中断并将外部信号发送回并行端口,并在示波器上显示
我有一种我无法理解的stange行为:
出于性能测量的目的,我使用’旧’并行端口接口在debian内核3.2.0-4-amd64上生成IRQ(我使用连接到ACK引脚的外部信号发生器).

我编写了自己的内核模块(仅限上半部分)来处理中断并将外部信号发送回并行端口,并在示波器上显示两个信号,以便测量内核响应时间.
一切都按预期工作,我可以看到平均70μs的时间响应,一些20μs的“爆发”.我正在运行“Intel(R)Core(TM)i3-3240 CPU @ 3.40GHz”.

现在,“无法解释”的部分.
如果我使用“压力”程序加载CPU,内存和I / O,我预计平均时间最差,但是相反的情况发生:我的平均响应时间下降到20μs.
我尝试了3个不同的内核:
vanilla,PREEMT-RT anf vanilla,NO_HZ选项设置为false.
有人可以解释这个的魔力吗?

我将“调控器”配置更改为“性能”,但不会更改任何内容.

解决方法

您的中断处理程序的优先级高于压力程序. 因此,压力程序的唯一影响是防止CPU休眠,这避免了CPU在中断到来时从休眠状态唤醒所需的延迟.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读