我有一个我无法理解的stange行为:为了性能测量的目的,我使用'旧的'并行端口接口在debian内核3.2.0-4-amd64上生成IRQ(我使用连接的外部信号发生器) to tha ACK pin).
我编写了自己的内核模块(仅限上半部分)来处理中断并将外部信号发送回并行端口,并在示波器上显示两个信号,以便测量内核响应时间.一切都按预期工作,我可以看到平均70μs的时间响应,一些20μs的"爆发".我正在运行"Intel(R)Core(TM)i3-3240 CPU @ 3.40GHz".
现在,"无法解释"的部分.如果我使用"压力"程序加载CPU,内存和I/O,我预计平均时间最差,但是相反的情况发生:我的平均响应时间下降到20μs.我尝试了3个不同的内核:vanilla,PREEMT-RT和vanilla,NO_HZ选项设置为false.有人可以解释这个的魔力吗?
我将"调控器"配置更改为"性能",但不会更改任何内容.