hrtimer 即使未启动也会运行
hrtimer runs even thogh it is not started
我在表演
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 包装器是否正常工作。
我在表演
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 包装器是否正常工作。