【发布时间】:2011-07-02 05:54:19
【问题描述】:
当内核空间中的进程持有spin_lock时,由于以下任何一种情况,该进程不能被抢占:
- 当进程的时间片耗尽时
- 当高优先级进程变为可运行时
- 发生中断时
但是,如果进程阻塞、休眠或显式调用schedule(),则该进程可以让出处理器。我的理解正确吗?
当内核空间中的进程持有mutex_lock时,由于上述1、2和3列出的条件,该进程是否可以被抢占。
【问题讨论】:
-
是的,我已经读过了。但是那个线程似乎令人困惑。这不是我的问题的意思
-
你不能在持有自旋锁时阻塞或调度()(嗯,你可以,但结果不会很漂亮)。
标签: locking linux-kernel preemption