我一直在测量运行Debian Linux 8.2的AMD 586(500 MHz)上的IRQ5(某些自定义硬件的一部分)的中断延迟。结果很奇怪:
90%的时间,中断潜伏期(用示波器测量)在17-20微秒
9%的时间,潜伏期小于40-50微秒
1%的时间,潜伏期小于100微秒
0.1%的时间,潜伏期超过100微秒
最坏情况延迟显然是256微秒。 (这是一个可疑数字)。
我尝试使用800 MHz AMD 686重复测试。结果相同。 我尝试使用Linux Mint。结果相同。 我尝试将此中断设置为最高优先级。相同。 我试过关闭所有其他中断。相同。 我尝试在“单一”模式下运行。相同。 我尝试使用“init = bin / bash”参数启动。相同。
整件事情都令人抓狂。
我怀疑视频子系统DMA锁定内存的时间量是执行一个(大型)块所需的时间,但是没有很好的方法来证明或反驳这个理论,少解决它。
任何建议的想法将不胜感激。 (是的,此时不使用Linux是默认计划。)