linux-kernel – 是否有可用的内核工具以合理的准确度测量中断延迟?

我正在尝试测量各种
Linux内核的中断延迟中的抖动(启用了RT补丁等).我知道最好的方法是使用示波器来实现这一点,通过GPIO引脚产生中断并在中断服务程序中切换另一个GPIO引脚,但我想知道是否有任何Linux内核工具来做这个,并且可能是我可以比较这些数字.

解决方法

一种典型的方法是设置一个高精度时钟(例如CPU的周期计数器)以在将来触发中断一些随机但已知的时间,并在ISR中测量时钟设置的时间之间的差异与实际达到ISR的时间相比较.

(“随机”部分是为了确保您在安静或繁忙时间避免系统地进行测量 – 例如,您不希望定时器中断在网卡中断的同时系统地触发,不公平推动你的延迟数量.)

有点实现这一点的工具是Cyclictest,虽然它似乎测量内核线程内部的时间而不是ISR本身,这将在一定程度上推高你测量的延迟数.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。