问题 - 我的Linux系统上有一个间歇性的时钟漂移(2秒),所以偶尔内核计时器线程执行2秒+超时时间
问题 - 有多个硬件时钟源(TSC,HPET,ACPI_PM),是否有可能创建内核定时器线程,如果主要时钟源漂移,则强制使用辅助时钟源作为回退..?
答案 0 :(得分:1)
您描述的内容听起来不像时钟漂移(系统错误),而是失去定时器中断。如果你有另一块可以产生定时中断的硬件(HPET,RTC,而不是TSC),你可以通过定时器或中断处理程序(或处理程序)进行时间敏感处理,无论哪个先发生,你只需要设计它们之间的某种同步。
如果您遇到真正的时钟漂移,当您的时钟速度低于实时时,您可以尝试估算它并在计划定时器时进行补偿。但丢失的中断是一个更严重的问题的迹象,解决根本原因也是有意义的,这也可能影响你的辅助中断源。