linux macro time_after学习

本文讨论了time_after函数在解决jiffies值回环问题上的局限性,并指出尽管该函数不能完全避免回环问题,在实际Linux内核中由于时间差值足够小而不会引发问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习的时候,介绍说time_after可以解决jiff value回环的问题,但怎么看,该函数都不能彻底解决啊。

time_after定义:#define time_after(a, b) (((long)b - (long)a) < 0)

假设b =3, a = 2,那么说a after b呢?还是b after a呢?从逻辑上就满足不了。

后来在bing上,搜索来很久,终于找到下面的链接,有人提了一个和我一样的问题。最后结论是,我的这个疑问是对的。linux kernel 也承认这个issue,但kernel代码确定,不会这么用,也就是不存在如此大差值的时间使用。

有时候,我总是觉得linux之类的东西时完美的,导致自己三观尽毁。怀疑精神不够啊。

http://stackoverflow.com/questions/6234597/is-the-time-after-linux-macro-100-fool-proof-regarding-the-wrap-around-of-jif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值