linux - Linux 中的多个硬件定时器

标签 linux timer kernel

问题 - 在我的 Linux 系统上存在间歇性时钟漂移(2 秒),因此内核计时器线程偶尔会执行 2 秒 + 超时时间

问题 - 有多个硬件时钟源(TSC、HPET、ACPI_PM),如果主时钟源漂移,是否可以创建强制使用辅助时钟源作为回退的内核定时器线程......?

最佳答案

您所描述的听起来不像是时钟漂移(系统错误),而是像丢失的定时器中断。如果您有另一个可以生成定时中断的硬件(HPET、RTC,但不是 TSC),您可以从定时器或中断处理程序(或多个处理程序)进行时间敏感处理,以先发生者为准,您只需要在它们之间设计某种同步。

如果您遇到真正的时钟漂移,当您的时钟速度低于实时速度时,您可以尝试估计它并在安排计时器时进行补偿。但是丢失中断是一个更严重问题的迹象,解决根本原因是有意义的,这也可能影响您的辅助中断源。

关于linux - Linux 中的多个硬件定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14032986/

相关文章:

linux - 在 redhat 5 机器上构建 Python3

c++ - 从未初始化的内存中读取每次都会返回不同的答案

Linux 下 Python 2.3 代码编译

python - 相互需要的子进程命令, "cd"特别麻烦

linux - 在 i386 的 linux 内核 2.6.11 中,此内联汇编 (:"0"(THREAD_SIZE - 1)) 的含义是什么

Java - 使用定时器时出错

iphone - 实现游戏计时器的最有效方法是什么

javascript - 网络 worker sleep

c - Linux 内核线程

linux-kernel - Linux内核模块崩溃调试: general protection fault: 0000 [#1] SMP