Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C AMD x86上使用Debian的中断延迟_C_Linux_Performance_Interrupt_Dma - Fatal编程技术网

C AMD x86上使用Debian的中断延迟

C AMD x86上使用Debian的中断延迟,c,linux,performance,interrupt,dma,C,Linux,Performance,Interrupt,Dma,我一直在测量运行DebianLinux8.2的AMD586(500MHz)上IRQ5(某些定制硬件的一部分)的中断延迟。结果很奇怪: 90%的时间,中断延迟(用示波器测量)为17-20微秒 9%的时间,延迟小于40-50微秒 1%的时间,延迟小于100微秒 0.1%的时间,延迟超过100微秒 最坏情况下的延迟显然是256微秒。(这是一个可疑的数字) 我尝试使用800 MHz AMD686重复测试。同样的结果。 我试着使用LinuxMint。同样的结果。 我尝试将此中断设置为最高优先级。一样。 我

我一直在测量运行DebianLinux8.2的AMD586(500MHz)上IRQ5(某些定制硬件的一部分)的中断延迟。结果很奇怪:

90%的时间,中断延迟(用示波器测量)为17-20微秒

9%的时间,延迟小于40-50微秒

1%的时间,延迟小于100微秒

0.1%的时间,延迟超过100微秒

最坏情况下的延迟显然是256微秒。(这是一个可疑的数字)

我尝试使用800 MHz AMD686重复测试。同样的结果。 我试着使用LinuxMint。同样的结果。 我尝试将此中断设置为最高优先级。一样。 我试着关掉所有其他的干扰。一样。 我试着在“单一”模式下运行。一样。 我尝试使用“init=bin/bash”参数启动。一样

整个事情有点让人发疯

我怀疑视频子系统DMA锁定内存的时间是执行一个(大ish)块所需的时间,但没有一个好方法来证明或反驳这个理论,更不用说修复它了


如有任何建议,将不胜感激。(是的,目前默认的方案是不使用Linux。)

似乎是获得这方面帮助的更好地方。(因为它与编程没有直接关系,所以很可能会在这里被标记和/或否决。)虽然这是一个有趣的问题,但如果没有答案,很难帮助解决。我可以假设
java
不涉及吗?祝你好运。你是说[9%/1%]。。。延迟超过[40-50/100]毫秒?实际上,这些数字看起来相当不错(对于x86)。您注意到,每一次大约加倍的时间都会以1:10的频率出现。对我来说,这意味着存在多个较小的随机延迟原因,这些原因偶尔会一起发生,叠加到最大值。如果有很多,并且它们是一致的,那么它应该接近正态分布。它可以是来自多个设备、硬盘、网络的PCI总线主DMA,而不仅仅是视频。也可能是其他ISR,包括系统时钟。还有,别忘了SMI。看。在该线程中需要注意的几件事:导致了大约250us的点击,在底部有人想出了如何禁用它,对于一种类型的芯片组。