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

简介: 转自:http://www.xuebuyuan.com/877633.html   目前项目需要,需要对时间进行基准,基准的精度在微秒。下午老刘给我说不能用do_gettimeofday因为他的精度虽然可以到微秒但是是依靠jiffies的精度(在linux 2.6.27内核中这个jiffies的单位是1毫秒)来更新这个时间值的,晚上回来就试试。

转自: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
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
15天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
15天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
3天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
12天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
35 9
|
1天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
14 0
|
1天前
|
Linux 开发工具 数据安全/隐私保护
Linux(19)常用解压命令记录
Linux(19)常用解压命令记录
6 0
|
3天前
|
Linux Perl
Linux系统替换字符串常用命令
请注意,`sed`命令可以非常强大,可以根据不同的需求使用不同的选项和正则表达式来进行更复杂的字符串替换操作。
16 0
|
5天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
12 0
|
7天前
|
域名解析 网络协议 Linux
Linux 中的 Nslookup 命令怎么使用?
【4月更文挑战第12天】
25 6
Linux 中的 Nslookup 命令怎么使用?
|
7天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令