• 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);
    }

  • 相关阅读:
    shell
    RANDOM随机数
    docker网络管理
    Oracle-28001密码过期问题及28000账户被锁解决
    Oracle数据泵导入导出(expdb/impdb)
    mysql多实例部署
    sed命令基本使用
    MySQL5.7.x二进制安装
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/5314242.html
Copyright © 2020-2023  润新知