- 论坛徽章:
- 0
|
native_smp_call_function_mask()这个函数
其被smp_call_function_single()和smp_call_function()调用,感觉非常方便,可以将任务以中断的方式交给其他CPU执行,多cool啊
,但是
他的说明里面有:
* You must not call this function with disabled interrupts or from a
* hardware interrupt handler or from a bottom half handler.
不知道是为什么啊???
我估计是spin_lock()的问题,因为
果我在软中断调用smp_call_function_single(),会导致spin_lock状态出问题,报warning,
[ INFO: inconsistent lock state ]
2.6.23-gentoo-r9 #5
---------------------------------
inconsistent {softirq-on-W} -> {in-softirq-W} usage.
swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
然后把函数栈稀里哗啦一打,,,,,,
意思大概是在软中断嵌套了??不解。。。。考虑到软中断应该只是local_bh_disable(),不知道为什么报这个warning,,,,
目前的workaround干脆把那个spin_lock删了,跑跑看:)不知道有什么副作用,,,, |
|