jiffies在内核中是一个全局变量,声明包含在#include <linux/jiffies.h>中,

几个内核中常用的的概念:

1. HZ

内核常量,ARM架构HZ=100,X86架构HZ=1000

例如HZ=100,表示硬件定时器1秒钟给CPU发送100个定时器中断信号

每发生一次中断的时间间隔为10ms

注意:不同的环境HZ的值都是可能不一样的,我曾经遇到过一个TI的开发板,他的jiffies比较特殊一点,HZ = 128表示1秒,所以大家使用的时候,一定要确认好HZ的值

2. jiffies_64, jiffies

jiffies_64是内核全局变量,64位,unsigned long long,

记录自开机以来发生了多少次的定时器中断,每发生一次,"自动"加1

jiffies也是内核全局变量,32位,unsigned long,值取得jiffies_64 的低32位,每发生一次定时器中断,同样"自动"加1,一般用来记录流失时间(时间间隔)

注意:只要在内核代码中看到jiffies,就等于此刻为当前时间

由于在内核中经常使用的jiffies,下边给出一个小例子(本代码只是一个使用jiffies的框架,具体使用,只需做稍微的修改)      
 参考代码:

unsigned long timeout = jiffies + 5*HZ;

说明:

jiffies:表示当前时间

5*HZ:时间间隔为5秒

timeout:表示5秒以后的时间,也就是超时时间

参考代码:判断是否超时

unsigned long timeout = jiffies + 5*HZ;
      ...
      ...
 ... //若干条代码,代码执行需要时间
if (jiffies > timeout)
超时
else
        没有超时
     
 解决方法:

if(time_after(jiffies, timeout)) {
      超时
      } else {
      没有超时
      }//此函数不需要死机,只需要用sourceinsignt查看内核大神们怎么使用即可,里面很多都是经典的用法

jiffies:内核中的时间观念相关推荐

  1. linux内核中测量时间的方法,Linux内核中获取时间函数do_gettimeofday

    内核代码能一直获取一个当前时间的表示, 通过查看 jifies 的值. 常常地, 这个值只代表从最后一次启动以来的时间, 这个事实对驱动来说无关, 因为它的生命周期受限于系统的 uptime. 如所示 ...

  2. Linux内核——定时器和时间管理

    定时器和时间管理 系统定时器是一种可编程硬件芯片.它能以固定频率产生中断.该中断就是所谓的定时器中断.它所相应的中断处理程序负责更新系统时间,还负责执行须要周期性执行的任务. 系统定时器和时钟中断处理 ...

  3. 在linux内核中获得比jiffies精度更高的时间值【转】

    转自:http://blog.chinaunix.net/uid-20672257-id-2831219.html 内核一般通过jiffies值来获取当前时间.尽管该数值表示的是自上次系统启动到当前的 ...

  4. linux 内核获取时间,Linux内核中的jiffies 以及时间的获取time

    硬件给内核提供一个系统定时器用以计算和管理时间,内核通过编程预设系统定时器的频率,即节拍率(tick rate),每一个周期称作一个tick(节拍).Linux内核从2.5版内核开始把频率从100调高 ...

  5. Linux内核tcp时间测量,linux内核 – 测试linux内核中函数的执行时间

    我使用Linux安全模块挂钩来添加一些自定义功能到recv()系统调用.与原始的recv()相比,我想测量这个功能的开销.我写了一个简单的tcp服务器,我运行与没有我的模块.这个tcp服务器调用rec ...

  6. linux内核中的jiffies,Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解

    在LINUX的时钟中断中涉及至二个全局变量一个是xtime,它是timeval数据结构变量,另一个则是jiffies,首先看timeval结构 struct timeval { time_t tv_s ...

  7. 关于linux内核中jiffies和jiffies_64解析

    1.前言 linux内核中定义了jiffies变量来记录从系统启动到当前时刻系统时钟所产生的tick数.jiffies变量是一个无符号整型数值,即unsigned long类型.     它的声明如下 ...

  8. linux内核 jiffies,Linux内核中的jiffies

    Linux内核中的jiffies 定义:全局变量jiffies用来记录自系统启动以来产生的节拍的总数.启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值.一秒内时钟中断的次数 ...

  9. 查看内核中每个函数花费的时间 initcall_debug

    实现查看内核启动的时候每个函数花费的时间 在uboot的环境变量中 添加如下信息,就可以在内核启动的时候查看到每个函数花费的时间 添加: initcall_debug=1 Linux version ...

最新文章

  1. 学习资源:在线学习 Python(一)
  2. GAN人脸修复--Generative Face Completion
  3. CAMWorks ShopFloor 2020中文版
  4. scikit-learn K近邻法类库使用小结
  5. 开始简单项目的第二周
  6. 超详细!使用OpenCV深度学习模块在图像分类下的应用实践
  7. leetcode 202. 快乐数 思考分析(哈希集合与双指针解)
  8. g2o求解BA 第10章
  9. 2020年二级计算机考试真题,2020年3月计算机等级考试《二级MS Office高级应用》历年真题-试题答案...
  10. 使用位运算(与运算)代替%操作
  11. Elasticsearch--高级-分词 安装ik分词---全文检索引擎ElasticSearch工作笔记020
  12. 如何提高matlab的运算速度慢,如何提高MATLAB的运算速度
  13. 开发中IDEA常用快捷键
  14. 天天生鲜页面设计——网站首页
  15. 小涴熊漫画CMS一款不错的开源免费的漫画连载系统带采集API
  16. liunx系统文件中转站(ftp服务)项目
  17. 送书 | 《Python3爬虫实战——数据清洗、数据分析与可视化》
  18. android优酷视频黑屏,为什么优酷视频黑屏?优酷视频黑屏的原因与解决方法
  19. 3D游戏——AR图片识别与建模
  20. 联想小新潮7000黑苹果教程_联想Lenovo小新 潮7000-14 完美运行win7的方法

热门文章

  1. smb连接错误“请检查服务器名称或IP地址,然后再试一次,如果问题持续发生,请联系系统管理员“
  2. webpack5打包图片报错——Module parse failed: Octal literal in strict mode 图片不能正常显示
  3. 2019尚硅谷大数据Javaweb篇三 Ajax、JSTL、会话技术、过滤器、监听器、xml、json
  4. Note For Linux By Jes(18)-X Window 配置介绍
  5. Cent OS 7命令积累(不定期更新)
  6. 新一代zData数据库一体机和ZDBM数据备份与恢复一体机正式发布
  7. 森林图怎么分析_森林图(forest plot)怎么看|meta分析
  8. Java毕业设计_消防安全培训系统
  9. Hibernate3 入门之Api,配置文件详解
  10. 番茄工作法总结-第四章:中断