linux中时间精度的获取问题【转】

简介:

转自:http://www.xuebuyuan.com/877633.html

 

目前项目需要,需要对时间进行基准,基准的精度在微秒。下午老刘给我说不能用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,如需转载请自行联系原作者

相关文章
|
Linux 数据处理 C语言
linux下对函数运行时间的简单估计
linux下对函数运行时间的简单估计
135 0
|
Linux
Linux 周期任务
Linux 周期任务
144 0
|
Linux
linux硬件时间修改与查看
linux修改时间和日期.查看修改硬件时间 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。
1918 0
|
监控 Linux 调度
理解linux平均负载
平均负载是指单位时间内,处于可运行状态和不可中断状 态的进程数。所以,它不仅包括了正在使用CPU的进程,还包括等待CPU 和等待 I/O的进程,而CPU使用率,是单位时间内 CPU 繁忙情况的统计,跟平均负载并不一定完全对应。
844 0