如何使用jiffies中断来重置内核模块中的其他内核变量计数器。如何在每秒内核模块编程中使用重置计数器?
我正在尝试每秒重置一些计数器...只是为了检查我是否每秒达到一定的阈值。不知道如何在内核模块编程中解决这个问题。
一些解释用一个例子,将不胜感激
感谢
如何使用jiffies中断来重置内核模块中的其他内核变量计数器。如何在每秒内核模块编程中使用重置计数器?
我正在尝试每秒重置一些计数器...只是为了检查我是否每秒达到一定的阈值。不知道如何在内核模块编程中解决这个问题。
一些解释用一个例子,将不胜感激
感谢
你可以做这样的事情:
unsigned long later = jiffies + 5*HZ; /* five seconds from now */
if (jiffies > later) {
counter++
}
另外,我建议考虑使用一些知名的宏,作为上面的代码可能会导致溢出。
time_after(j,t) here the macro returns true if time jiffies j is after time t; otherwise, it returns false.
time_before(j, t),
time_after_eq(j, t),
time_before_eq(j, t)
寻找内核定时器或延迟工作.. :) – raghav3276 2014-10-28 07:11:33