0

设置:
我有一个调用 IOCTL 的 CP 进程。然后内核 IOCTL 处理程序将某些内容写入硬件并返回结果。这种看门狗打孔以周期性间隔发生。

问题:
使用调试打印我验证了 CP 进程和内核模块同时停止打印调试。内核模块总是完成它的任务。几分钟后,调试再次开始打印。虽然存在问题,但我通过运行 ls、top 等验证了内核本身没有挂起。

我知道内核模块可能没有问题。那么我从哪里开始寻找呢?

4

2 回答 2

0

您的 IOCTL 处理程序是否使用阻塞 IO 访问硬件?如果 IOCTL 处理程序必须等待硬件响应,则时间可能会超过看门狗时间限制并导致看门狗重新启动。也许检查如何访问硬件是一个开始的方向。

于 2012-03-22T04:47:44.967 回答
0

那么我从哪里开始寻找呢?

我将首先使用strace -eioctl ...检查在问题存在时是否发生呼叫。

于 2014-03-17T14:06:13.170 回答