33、深入解析系统中的定时测量与相关系统调用

深入解析系统中的定时测量与相关系统调用

1. 动态定时器算法与性能

动态定时器在系统中有着重要的作用。在每次调用动态定时器函数之前会释放相关资源,直至其终止,这样能确保动态定时器的数据结构不会被交错的内核控制路径破坏。

这个较为复杂的算法能保证出色的性能。假设 TIMER_SOFTIRQ 软中断在对应的定时器中断发生后立即执行,在 256 次定时器中断中,有 255 次(即 99.6%的情况), run_timer_softirq() 函数只是运行已过期定时器的函数(如果有的话)。为了定期补充 base->tv1.vec ,每 64 次中只需 63 次将 base->tv2 的一个列表划分为 base->tv1 的 256 个列表。 base->tv2.vec 数组在 0.006%的情况下需要补充(即每 16.4 秒一次), base->tv3.vec 每 17 分钟 28 秒补充一次, base->tv4.vec 每 18 小时 38 分钟补充一次,而 base->tv5.vec 则不需要补充。

2. 动态定时器的应用: nanosleep() 系统调用

nanosleep() 系统调用的服务例程 sys_nanosleep() 接收一个指向 timespec

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值