linux - hrtimer 即使未启动也会运行

标签 linux time kernel linux-device-driver embedded-linux

我在表演

hrtimer_init(hr_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);

过了一会儿(30,也许 60 秒),我执行:

hrtimer_start(hr_timer, ktime_set(0, timeout), HRTIMER_MODE_REL);

紧接着,不到 1 秒,我就表演了

ktime_to_timeval(hrtimer_expires_remaining(hr_timer));

输出 timeval 结构包含自 hrtimer_init 以来的时间,而不是从开始时开始的时间。 尴尬的是,这种情况并不是每次都会发生,它只发生在我的众多计时器中的一个上(仅发生在我初始化的第一个计时器上)。

有什么想法吗?

最佳答案

只是一个愚蠢的硬编码变量导致了timerID 0的重置。 我什至创建了一个单独的带有计时器的模块,以查看 hrtimer 包装器是否正常工作。

关于linux - hrtimer 即使未启动也会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28542833/

相关文章:

python - 如何让 python 脚本在 10 秒后自行停止?

google-chrome - 删除 Chrome input=time 中的秒数

java - 从句子java中获取日期、时间和整数值

timer - Linux 内核定时器函数在什么上下文中运行?

ruby-on-rails - 我在哪里可以找到 Apache-Passenger 配置文件?

python - 使用 Gmail API 创建桌面应用程序

windows - 如何从Windows内核调用usermode?

linker - "ld -Ttext"选项在做什么?

python - uwsgi nginx 连接到 unix 套接字被拒绝

c++ - 如何在 C++ 中使用时间