我在我的内核模块中实现了一些参数的超时。如何修改内核timer_list timeout
因此我使用struct timer_list
和Associated API来实现12秒定时器。
,以便在IBM开发者提到的工作指南内核定时器使用:
struct timer_list my_timer;
init_timer_on_stack(&my_timer);
void tick_timer()
{
my_timer.expires = jiffies + delay * HZ; //delay is global variable int = 12.
my_timer.data=0;
my_timer.function = my_timer_func;
add_timer(&my_timer);
}
所以我的每一个计时器到期我做我的工作,my_timer_func
,并再次呼吁tick_timer
重置计时器的时间。
接下来,我想实现delay
作为sysctl条目。 但是,更改应立即调用tick_timer
函数并用新的delay
重置计时器。那么我怎样才能检测到这个变化并删除当前的定时器或重置它。
如有任何内核线程检测内核没有这样的机制在delay