- 论坛徽章:
- 0
|
本帖最后由 guozan523 于 2010-08-17 19:30 编辑
在内核中添加代码,测试一些设备的初始化时间
但是do_gettimeofday函数读取的时间,tv_usec部分总是0
比如:对init/main.c中的start_kernel()函数中的console_init()部分测量,这次是两处,曾经在4处进行测量,结果四处的时间都是一样,当然秒一样可以理解,但tv_usec部分全是0
注:start 和 end都是struct timeval类型,内核版本2.6.33.3,cpu是core 2,内核编译时把HPET Timer support编入了内核,其它部分不清楚哪些和这个问题有关,暂时没列出
do_gettimeofday(&start);
console_init();
do_gettimeofday(&end);
printk(KERN_DEBUG "whoisyourdaddy: The time used for console init is %ld, start time is %ld s %ld us, end time is %ld s %ld us\n", (start.tv_sec - end.tv_sec) * 1000000 + start.tv_usec - end.tv_usec, start.tv_sec, start.tv_usec, end.tv_sec, end.tv_usec);
从dmesg中读取的结果是
whoisyourdaddy: The time used for console init is 0, start time is 1282062076 s 0 us, end time is 1282062076 s 0 us
谢谢
|
|