我有一个奇怪的行为无法理解:
出于性能测量目的,我正在使用“旧”的并口接口在debian内核3.2.0-4-amd64上生成IRQ(我正在使用连接到ACK引脚的外部信号发生器)。
我编写了自己的内核模块(仅顶部),以处理中断并将外部信号发送回并口,并在示波器上显示两个信号,以便我可以测量内核响应时间。一切正常,我可以看到平均70微秒的响应时间,有些是20微秒的“突发”情况。我正在运行“Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz”。
现在,“无法解释”的部分。如果我使用“stress”程序加载CPU、内存和I/O,我预计平均时间会更糟,但相反的是:我的平均响应时间降至20微秒。我尝试了3个不同的内核:vanilla、PREEMT-RT和将NO_HZ选项设置为false的vanilla。有人能解释这个魔术吗?
我将'governor'配置更改为'performance',但没有改变任何东西。
我编写了自己的内核模块(仅顶部),以处理中断并将外部信号发送回并口,并在示波器上显示两个信号,以便我可以测量内核响应时间。一切正常,我可以看到平均70微秒的响应时间,有些是20微秒的“突发”情况。我正在运行“Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz”。
现在,“无法解释”的部分。如果我使用“stress”程序加载CPU、内存和I/O,我预计平均时间会更糟,但相反的是:我的平均响应时间降至20微秒。我尝试了3个不同的内核:vanilla、PREEMT-RT和将NO_HZ选项设置为false的vanilla。有人能解释这个魔术吗?
我将'governor'配置更改为'performance',但没有改变任何东西。