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 包装器是否正常工作。