jiffies机制及其实验与使用 jiffies与HZ换算
全局变量jiffies用来记录自系统启动以来产生的节拍的总数。启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的值也就是Hz。
系统运行时间以秒为单位,等于jiffies/Hz。
注意,jiffies类型为无符号长整型(unsigned long),其他任何类型存放它都不正确。
将以秒为单位的时间转化为jiffies:
seconds * Hz
将jiffies转化为以秒为单位的时间:
jiffies / Hz
实验使用1:记下2个函数之间的间隔。
> unsigned long lcd_on_tick;
> unsigned long lcd_off_tick;
> unsigned long lcd_keep_tick;
> void lcd_on(void)
> {
> lcd_on_tick=jiffies;//记下当前时间
> printk("lcd_on_tick = %ld",lcd_on_tick);}
> void lcd_off(void)
> {
> lcd_off_tick=jiffies;
> printk("lcd_off_tick = %ld ",lcd_off_tick);//记下当前时间
>
> lcd_keep_tick=lcd_off_tick-lcd_on_tick;
> printk("lcd_off_tick - lcd_on_tick = %ld
> ms",lcd_keep_tick*1000/HZ);//计算出2者间隔多少ms 通过log显示还是非常准的
> }
>
> <4>[ 144.288757] lcd_on_tick = -15571
> <6>[ 144.289093] lcdc_truly_gpio_init: lcdc_gpio_initialized = 1
> <6>[ 144.289825] lcdc_gordon_panel_on
> <3>[ 144.510650] [TP]cap_touch_screen_set_reset: Set RESET: 0
> <3>[ 144.511840] [TP]cap_touch_screen_set_reset: Set RESET: 1
> <6>[ 144.562561] gt818 1-005d: Guitar Version: 0x00.0x83
> <7>[ 144.570892] BATT: msm_battery_late_resume
> <4>[ 144.571441] [MSM_BATT] msm_batt_set_compensation:
> batt_compensation=0
> <6>[ 145.384063] request_suspend_state: sleep (0->3) at 145385327712
> (2012-09-21 11:26:02.976361082 UTC)
> <7>[ 145.384277] BATT: msm_battery_early_suspend
> <4>[ 145.386718] [MSM_BATT] msm_batt_set_compensation:
> batt_compensation=1
> <6>[ 145.389465] Send suspend cmd
> <4>[ 145.498809] lcd_off_tick = -15450 lcd_off_tick - lcd_on_tick =
> 1210 ms
所以如果有需要比较2个函数执行时间间隔就有用处了,用的情况还是还多的。这里只是一点小用法。
2:设置超时
unsigned long timeout = jiffies + tick_rate * 2; // 2秒钟后超时
if(time_before(jiffies, timeout){
// 还没有超时
}
else{
// 已经超时
}
总结:
HZ为1s jiffies类型unsigned long 。 HZ=1000时 1jiffies = 1ms HZ=100时 1jiffies=10ms
高通平台默认1HZ = 100 jiffies
如何改HZ=1000?
内核态的HZ需要位1000,就是1 jiffies 为1ms,应该是修改/arch/arm/Kconfig default 1000
config HZ
int
default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \
ARCH_S5PV210 || ARCH_EXYNOS4
default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
default AT91_TIMER_HZ if ARCH_AT91
default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
default 1000
jiffies机制及其实验与使用 jiffies与HZ换算相关推荐
- linux查询jiffies命令,关于linux:将jiffies转换为秒
我有一段用户空间代码,该代码正在解析/ proc / PID / task / TID / stat以获取cpu的使用情况. 我可以使用HZ来获取每秒的跳动,但是此代码可以移动到另一台具有不同配置值的 ...
- C++中消息机制阻塞实验
VC6标准WIN32程序,Windows消息处理机制: 1.在注册窗口类时,指定了消息处理函数WndProc(). 2.WinMain()里有消息循环: while (GetMessage(& ...
- 浙江大学PTA C语言-实验9 结构程序设计 7-2 时间换算
7-2 时间换算 (15分) 本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时). 输入格式: 输入在第一行中以hh:mm:ss的格式给 ...
- linux HZ Tick Jiffies
1.linux HZ Linux核心几个重要跟时间有关的名词或变数,底下将介绍HZ.tick与jiffies. HZ Linux核心每隔固定周期会发出timer interrupt (IRQ 0),H ...
- arm linux hz,需要了解的linux HZ Tick Jiffies
Linux核心几个重要跟时间有关的名词或变数,底下将介绍HZ.tick与jiffies. HZ Linux核心每隔固定周期会发出TImer interrupt (IRQ 0),HZ是用来定义每一秒有几 ...
- linux内核中的jiffies,Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解
在LINUX的时钟中断中涉及至二个全局变量一个是xtime,它是timeval数据结构变量,另一个则是jiffies,首先看timeval结构 struct timeval { time_t tv_s ...
- linux上的定时器上的jiffies,linux定时器和Jiffies汇.doc
linux定时器和Jiffies汇 1.linux HZ Linux核心几个重要跟时间有关的名词或变数,将介绍HZ.tick与jiffies. HZ Linux核心每隔固定周期会发出timer int ...
- linux查询jiffies命令,linux HZ Tick Jiffies
HZ的不同值会影响timer (节拍)中断的频率 2.2 jiffies及其溢出 全局变量jiffies取值为自操作系统启动以来的时钟滴答的数目,在头文 件中定义,数据类型为unsigned long ...
- 在linux内核中获得比jiffies精度更高的时间值【转】
转自:http://blog.chinaunix.net/uid-20672257-id-2831219.html 内核一般通过jiffies值来获取当前时间.尽管该数值表示的是自上次系统启动到当前的 ...
最新文章
- 计算机类和鼠标类是什么关系,常见鼠标的种类
- linux机群下NFS+NIS服务的搭建以及MPICH的简单安装
- VTK:可视化算法之CutStructuredGrid
- linux平台及windows平台mysql重启方法
- 如何查看自己的Github仓库占据了多少存储空间
- [转载]名字长的麻烦
- development period
- Mysql客户端的安装
- 血泪安装caffe教程
- 微软原版win10系统启动盘的制作
- 各种手持式条形码扫描仪的优缺点
- matlab中ga函数的用法,[转载]MATLAB中自带遗传算法函数GA的用法
- 如何在jsp中写一个弹窗
- JavaScript基本数据类型之String 和 Boolean
- available: expected at least 1 bean which qualifies as autowire candidate
- React-Cropper实现图片裁剪
- pytorch学习笔记(八):PytTorch可视化工具 visdom
- 在anaconda中git找不到命令,可能是设置的git环境变量路径包含中文
- 2018最新史上最全SpringBoot视频教程(完整)
- CSS重复线性渐变之画格子
热门文章
- 【实战】轻轻松松使用StyleGAN(一):创建令人惊讶的黄种人脸和专属于自己的老婆动漫头像
- 【笔记】为什么现代人变得越来越娱乐至死
- week15作业A ZJM 与霍格沃兹
- K-D 树, 高维空间索引
- java $ 怎样用_jsp中$是什么意思?怎么用?
- 自动调节式防涝井盖设计
- Gvim计数器模板经典练习
- Physically Based Rendering——史上最容易理解的BRDF中D函数NDF的中文资料
- android视频编辑好,安卓比较好用的视频剪辑软件 手机视频剪辑软件推荐
- 什么是逻辑卷管理器lvm?lvm设备的管理