Timer 如何在Linux内核中查找挂起的计时器

Timer 如何在Linux内核中查找挂起的计时器,timer,linux-kernel,kernel,Timer,Linux Kernel,Kernel,我正在Linux内核中开发一个驱动程序。我有一个计时器,它可以周期性地做一些事情。例如,每隔40毫秒,计时器就会过期。但是,当我查看由某个arm函数调用以检索时间的剩余时间时,剩余时间不是40ms,而是小于1ms,例如960us。我认为剩余的时间一定是由其他计时器的滴答声引起的,每1ms一次。如何在内核中找到挂起的计时器?我尝试了timer_pending(),但我需要首先知道计时器的名称 感谢您的建议。所有计时器都列在/proc/timer\u列表中其他计时器不会影响您的计时器。你为什么认为这

我正在Linux内核中开发一个驱动程序。我有一个计时器,它可以周期性地做一些事情。例如,每隔40毫秒,计时器就会过期。但是,当我查看由某个arm函数调用以检索时间的剩余时间时,剩余时间不是40ms,而是小于1ms,例如960us。我认为剩余的时间一定是由其他计时器的滴答声引起的,每1ms一次。如何在内核中找到挂起的计时器?我尝试了timer_pending(),但我需要首先知道计时器的名称


感谢您的建议。

所有计时器都列在
/proc/timer\u列表中

其他计时器不会影响您的计时器。你为什么认为这会是个问题?没错。但是,似乎有一个计时器滴答声影响了我对ARM计时器的编程。虽然我调用了tick_nohz_idle_enter(),但它仍然有另一个计时器,总是说我需要在40ms之前停止。谢谢,但是我如何在内核中找到挂起的计时器?我的意思是不是从系统中。更重要的是,如果我不知道任何挂起的计时器的名称,如何禁用它们?如果禁用另一个计时器,安装该计时器的代码将中断。您必须找出为什么安装了另一个计时器来防止这种情况,如果没有
计时器列表中的信息,这是不可能的。