【时间子系统】四、低精度定时器
通过定时器,我们可以控制计算机在将来指定的某个时刻执行特定的动作。传统的定时器,以时钟滴答(jiffy)作为计时单位,因此它的精度较低(例如HZ=1000时,精度为1毫秒),我们也称之为低精度定时器。 1. 初始化定时器 我们在概述中介绍过,内核中通过init_timer对定时器进行初始化,定时器中最关键的三个信息是:到期时间、到期处理函数、到期处理函数的参数。init_timer宏及定时器结构struct timer_list(取名struct timer可能更合适)的定义如下: linux/include/linux/timer.h: #define init_timer(timer) __init_timer((timer), 0) #define __init_timer(_timer, _flags) init_timer_key((_timer), (_flags), NULL, NULL) struct timer_list { /* * All fields that change during normal runtime grouped to the * same cacheline */ struct list_head entry; /*用于将当前定时器挂到CPU的tvec_base链表中*/ unsigned long expires; /