首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绕过softlockup_threshold

绕过softlockup_threshold
EN

Stack Overflow用户
提问于 2012-11-14 04:27:53
回答 2查看 752关注 0票数 0

我开发了一个内核模块,它完成了一项繁重的工作,这当然需要时间。问题是该模块占用CPU的时间超过20秒,因此引发了softlockup_threshold的错误。

我的问题是,有什么方法可以绕过它吗?也就是说,它可以篡改阈值吗?或者,它是否可以强制调度并在以后继续其工作?(以便将计时器设置为0)。

先谢谢你,帕诺斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-14 04:46:12

你可以试着放弃一段时间的CPU,如果这是可以接受的,那么你应该看看schedule()这里有一篇关于Sleeping in the Kernel的很棒的文章

票数 1
EN

Stack Overflow用户

发布于 2012-11-14 10:12:52

使用新内核,您可以调优/proc/sys/kernel/watchdog_thresh (我认为较旧的内核使用/proc/sys/kernel/softlockup_thresh )。但是不鼓励这样做,因为阻塞20秒意味着你的代码有问题,你应该释放CPU,例如通过调用cond_resched()。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13368226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档