我开发了一个内核模块,它完成了繁重的工作,当然需要时间。 问题是模块使用 CPU 超过 20 秒,并且 结果引发了softlockup_threshold的BUG。
我的问题是,有什么办法可以绕过这个吗?即它可以篡改阈值吗? 或者它可以强制调度并稍后继续工作吗? (为了将计时器设置为 0)。
先谢谢你, 帕诺斯
最佳答案
使用新内核,您可以调整/proc/sys/kernel/watchdog_thresh(我认为旧内核使用/proc/sys/kernel/softlockup_thresh)。但这并不被鼓励,因为阻塞 20 秒意味着你的代码有问题,你应该让出 CPU,例如通过调用 cond_resched()。
关于c - 绕过 softlockup_threshold,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13368226/