我在我的內核模塊中實現了一些參數的超時。如何修改內核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