双核CPU,跑程序会报rcu_sched_state detected stalls on CPUs/tasks 错误

有一份SDK,之前跑在PPC405EX上没问题。最近换平台,CPU使用了PowerPC的P1020,双核。
linux版本也升级到了3.0.48版本。升级之后出现了一个问题:SDK里面的程序跑一段时间之后会报告:
INFO: rcu_sched_state detected stalls on CPUs/tasks: { 1} (detected by 0, t=15002 jiffies)。意思是CORE0检测到CORE1挂了。

SDK里面使用了lock_kernel和unlock_kernel这一对大内核锁。由于3.0内核中不再存在上述锁。所以用
spinlock来替代。不知道上面的问题是否和这个改动有关?如果是的话,对于多核系统应该拿什么来替代这两个函数呢?

http://bbs.csdn.net/topics/390396552

posted @ 2013-12-22 09:09  mull  阅读(5103)  评论(0编辑  收藏  举报