C 自系统初始化后定期调用函数
假设我用C 自系统初始化后定期调用函数,c,linux-kernel,kernel,C,Linux Kernel,Kernel,假设我用DEFINE\u per\u CPU(struct var,var)声明了一个per-CPU变量,并且与每个struct var关联的是一个属性int count。这在系统初始化期间发生,因此(假定)位于init/main.c中。进一步假设我有一个increment\u count()函数定义为 void increment_count() { per_cpu(var, get_cpu()).count += 1; put_cpu(); }
DEFINE\u per\u CPU(struct var,var)
声明了一个per-CPU变量,并且与每个struct var
关联的是一个属性int count
。这在系统初始化期间发生,因此(假定)位于init/main.c
中。进一步假设我有一个increment\u count()
函数定义为
void increment_count() {
per_cpu(var, get_cpu()).count += 1;
put_cpu();
}
我希望从系统初始化开始,内核每隔x
毫秒调用increment\u count
。定时间隔中的一些抖动是正常的。如何在实践中实现这一点?此外,我是否需要显式抢占当前正在运行的线程以允许increment\u count()
线程运行