我需要有关Linux内核中的softlockup的帮助。
我为硬件开发了一个内核驱动程序,我必须等待或循环(用户应用程序提供的时间延迟)指定的时间(例如延迟时间为1或20或...分钟)执行一些任务。每当我设置延迟时间超过1分钟时,我都会从内核收到softlockup消息。
有没有办法避免来自内核的锁定消息。我已经使用了内存睡眠调用,如msleep,ssleep等,我也实现了一个等待指定时间的逻辑。
任何建议都会有很大的帮助。提前谢谢。
此致 Srinivasa Raghavan。
答案 0 :(得分:1)
见delays - Information on the various kernel delay / sleep mechanisms。 对于你的情况:
SLEEPING FOR LARGER MSECS ( 10ms+ )
* Use msleep or possibly msleep_interruptible
如果你从内核获得softlockup消息,只要...设置延迟时间超过1分钟,你可以尝试重复等待1分钟。