我进行了一些实验,发现当我关闭内核模块中的本地中断时,系统会立即挂起,甚至无法响应键盘中断。(该系统有4个CPU,操作系统为ubuntu 11.10) 关闭本地中断应该只会禁用一个CPU(我猜),但我仍然有3个空闲的CPU。(感到困惑)
与禁用本地中断类似,当我在内核模块中禁用抢占(preempt_disable)时,系统也不再响应。当我在一个内核模块中更改代码时,使用具有编码的代码。
系统起初对我有响应,但是当我打开另一个控制台或随后进行其他操作时,系统完全挂起。
与禁用本地中断类似,当我在内核模块中禁用抢占(preempt_disable)时,系统也不再响应。当我在一个内核模块中更改代码时,使用具有编码的代码。
for(;;)
{
preempt_disable();
/* ---did some thing fast here--- */
preempt_enable()
}
系统起初对我有响应,但是当我打开另一个控制台或随后进行其他操作时,系统完全挂起。