如何使用jiffies中断来重置内核模块中的其他内核变量计数器。
我试图每秒重置一些计数器......只是为了检查我是否每秒都达到某个阈值。不知道如何在内核模块编程中解决这个问题。
一些例子的解释将受到高度赞赏
由于
答案 0 :(得分:0)
你可以这样做:
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)