本文共 1129 字,大约阅读时间需要 3 分钟。
转自:
目前项目需要,需要对时间进行基准,基准的精度在微秒。下午老刘给我说不能用do_gettimeofday因为他的精度虽然可以到微秒但是是依靠jiffies的精度(在linux 2.6.27内核中这个jiffies的单位是1毫秒)来更新这个时间值的,晚上回来就试试。结果呵呵,原来是可以精确到微秒并且不是靠jiffies的精度来更新的。
如下了。
#include <linux/kernel.h>
#include <linux/module.h> #include <linux/init.h> #include <linux/time.h> MODULE_LICENSE("GPL"); MODULE_AUTHOR("silence1214"); // gloable variable declare /// time struct struct timeval tl; //function declare void time_frequent_test(void); // initialize the kernel module int init_module(void) { printk(KERN_INFO "enter into the kernel.../n"); time_frequent_test(); return 0; } // clean up the kernel module void cleanup_module(void) { printk(KERN_INFO "away from the kernel .../n"); } void time_frequent_test(void) { do_gettimeofday(&tl); printk(KERN_INFO "jiffies=%lu, sec=%lu, usec=%lu/n", jiffies, tl.tv_sec, tl.tv_usec); do_gettimeofday(&tl); printk(KERN_INFO "jiffies=%lu, sec=%lu, usec=%lu/n", jiffies, tl.tv_sec, tl.tv_usec); do_gettimeofday(&tl); printk(KERN_INFO "jiffies=%lu, sec=%lu, usec=%lu/n", jiffies, tl.tv_sec, tl.tv_usec); }本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5314242.html,如需转载请自行联系原作者