你了解CONFIG_HZ 和 USER_HZ的区别?

时间:2022-05-28 17:15:12 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
你了解CONFIG_HZ USER_HZ的区别?

-pae

CONFIG_HZ_250=y CONFIG_HZ=250

有意思的是,systemtap tutorial有个比较好玩的实验,也可以确定CONFIG_HZ的大小。 global count_jiffies, count_ms

probe TImer.jiffies(100) { count_jiffies ++ } probe TImer.ms(100) { count_ms ++ } probe TImer.ms(543210) {

hz=(1000*count_jiffies) / count_ms

printf ("jiffies:ms ratio %d:%d => CONFIG_HZ=%d\n", count_jiffies, count_ms, hz) exit () }

输出如下:

jiffies:ms ratio 1358:5420 => CONFIG_HZ=250

实验等待的时间有点久,需要等待543210ms9分钟左右,时间越久,误差越小,如果等待的时间段一些,会出现误差。感兴趣的筒子自行实验。 除此外,还有一个值是USER_HZ,不了解这个的,可能会了解TImes系统调用,这个系统调用是统计进程时间消耗的, #include

clock_t times(struct tms *buf);

times系统调用的时间单位是由USER_HZ决定的,所以,times系统调用统计的时间是以10ms为单位的。说100HZ空口无凭,如何获取USER_HZ #include #include #include #include #include int main()


本文来源:https://www.wddqw.com/doc/e22276c4842458fb770bf78a6529647d262834d0.html