#include
#include
#include
#include
struct timer_list my_timer;
void func(unsigned long data)
printk("time out!\n data: %ld, pid: %ld\n", data, current->pid);
mod_timer(&my_timer, jiffies + 3*hz); //修改定時器的時間為2秒
static int __init my_timer_init(void)
init_timer(&my_timer); //初始化定時器
my_timer.expires = jiffies + 5*hz; //設定定時器的時間5秒
my_timer.function = func; //定時器時間到,需要執行的函式
my_timer.data = (unsigned long)99; //func函式的引數
add_timer(&my_timer); //註冊定時器
printk("this is my timer pid: %ld\n", current->pid);
return 0;
static void __exit my_timer_exit(void)
del_timer(&my_timer); //登出定時器
linux 核心 核心定時器
一.時鐘中斷概念 1.時鐘中斷由系統的定時硬體以週期性的時間間隔產生,這個間隔 即頻率 由核心根據hz來確定,hz是乙個與體系結構無關的常數,可配置 50 1200 在x86平台上預設值是1000 2.每當時鐘中斷發生的時候,全域性變數jiffies unsigned long 就加1,所以jiff...
linux核心定時器
度量時間差 時鐘中斷由系統的定時硬體以週期性的時間間隔產生,這個間隔 頻率 由核心根據hz來確定,hz是乙個與體系結構無關的常數,可配置 50 1200 在x86平台,預設值為1000.每秒鐘產生1000次時鐘中斷 每當時鐘中斷發生時,全域性變數jiffies就加1,因此其記錄了自linux啟動後時...
linux 核心定時器
1 asmlinkage void init start kernel void 2 void init init timers void 3 void open softirq int nr,void action struct softirq action 4 static void run t...