我正在尝试使用本地 APIC 计时器在一定间隔后发送中断(用于我正在编写的内核模块)。这与 Linux 中的调度无关。
我将 Linux 中的时钟源设置为 HPET,以便我可以释放本地 APIC 计时器供我自己使用。然而,每当我写入本地 APIC 定时器的寄存器时,似乎不仅我的值很快就会被内核中的不同代码覆盖,而且看门狗定时器也会关闭。
有谁知道为什么会发生这种情况?如何为自己释放本地 APIC 计时器?我假设当clocksource为 时tsc
,本地APIC定时器用于调度,但也许这个假设是错误的。
$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource hpet