我在表演
hrtimer_init(hr_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
然后过了一会儿(30或60秒),我执行:
hrtimer_start(hr_timer, ktime_set(0, timeout), HRTIMER_MODE_REL);
在不到一秒钟的时间内,我立即执行
ktime_to_timeval(hrtimer_expires_remaining(hr_timer));
输出的timeval结构包含从hrtimer_init开始的时间,而不是从开始的时间。
尴尬的是,这不会每次都发生,并且仅发生在我的许多计时器中的一个(仅发生在我初始化的第一个计时器中)。
有什么想法吗 ?
最佳答案
只是一个愚蠢的硬编码变量导致了timerID 0的重置。
我什至创建了一个单独的计时器模块,以查看hrtimer包装程序是否正常工作。
关于linux - hrtimer即使没有启动也会运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28542833/