在可抢占的 Linux 内核中,调度程序或一些关键内核线程是否可以被抢占?在中断处理程序(上半部分或下半部分)中呢?
最佳答案
内核调用__schedule()做实际的上下文切换。它总是在禁用抢占的情况下调用它。在调用 __schedule
之前,您可以搜索调用者并注意对 preempt_disable
的调用。所以,它不能被抢占。
此外,中断处理程序不能被抢占。此处禁用抢占。但是 linux 内核是可抢占的,这意味着内核线程和其他代码可以在安全的情况下被抢占。
关于linux - 可抢占式 Linux 内核中的调度程序或某些关键内核线程是否可以被抢占?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28018679/