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()
线程运行