Operating system 如何以编程方式计算Ubuntu中的中断延迟?

Operating system 如何以编程方式计算Ubuntu中的中断延迟?,operating-system,pthreads,interrupt,latency,interrupt-handling,Operating System,Pthreads,Interrupt,Latency,Interrupt Handling,中断延迟定义为中断发生与中断服务程序(ISR)的第一条指令开始处理中断之间的时间。为了计算中断延迟,我采用了本文中提到的方法: 基本上,我想在C中使用pthread库创建一个线程(在时间点t1),然后等待100微秒并生成一个中断(在时间点t2)。然后,中断延迟时间将为t2-t1-100微秒。但我无法得到如何实际生成这样的中断,以及如何在中断开始时测量时间点t2 或者,如果有其他更好的方法以编程方式计算中断延迟,请让我知道!谢谢。Ugh……可能是因为驱动程序没有清除中断,所以在IRET上“立即”重

中断延迟定义为中断发生与中断服务程序(ISR)的第一条指令开始处理中断之间的时间。为了计算中断延迟,我采用了本文中提到的方法:

基本上,我想在C中使用pthread库创建一个线程(在时间点t1),然后等待100微秒并生成一个中断(在时间点t2)。然后,中断延迟时间将为t2-t1-100微秒。但我无法得到如何实际生成这样的中断,以及如何在中断开始时测量时间点t2


或者,如果有其他更好的方法以编程方式计算中断延迟,请让我知道!谢谢。

Ugh……可能是因为驱动程序没有清除中断,所以在IRET上“立即”重新调用中断的次数过多?然后,中断确认/返回的计时数据可能允许您在int ack时间计算平均猜测。TBH,如果我被要求尝试这个,我很可能会通过更新简历周期来回应。非常不确定您的计划-100us永远在处理器周期中。是否可以通过编写一些C代码来估计中断延迟?因此,无论谁想要复制结果,都可以在他们的系统上编译和运行C代码。我会说不。安装驱动程序,可能,几乎不可能。中断确认周期是硬件操作,单独使用软件很难测量。为什么需要找出这个问题?就像一个学术练习一样。我试着测量不同的东西,比如上下文切换时间、信号量洗牌时间等,这是我在操作系统课上学到的。我正在寻找类似于此博客的内容:。在这种情况下,他们使用管道和条件变量计算上下文切换时间。所以我想知道我们是否可以用类似的方式来估算延迟。