注:本文论述的情况是内核默认未开启高精度定时器。
不建议这么用,需要较高精度的定时器可参考本博客后面的文章。
一、先上结论
1、默认的HZ是100,usleep的最小时间是10ms;
2、将HZ修改为1000,usleep的最小时间更改为1ms。
二、如何修改HZ
1、在.config中修改CONFIG_HZ 不会生效。修改autoconf.h同样无效;
2、修改param.h中的USER_HZ和#else HZ 都是无效的;
3、最简单的方法:直接将param.h的HZ修改为1000:# define HZ 1000 //CONFIG_HZ
在这里修改的话。编译的时候会在timeconst.h(由脚本timeconst.pl自动生成的文件)报错(可将其注释掉)
#if HZ != 100
#error "kernel/timeconst.h has the wrong HZ value!"
#endif