linux - 可抢占式 Linux 内核中的调度程序或某些关键内核线程是否可以被抢占?

标签 linux linux-kernel scheduler schedule preemption

在可抢占的 Linux 内核中,调度程序或一些关键内核线程是否可以被抢占?在中断处理程序(上半部分或下半部分)中呢?

最佳答案

内核调用__schedule()做实际的上下文切换。它总是在禁用抢占的情况下调用它。在调用 __schedule 之前,您可以搜索调用者并注意对 preempt_disable 的调用。所以,它不能被抢占。

此外,中断处理程序不能被抢占。此处禁用抢占。但是 linux 内核是可抢占的,这意味着内核线程和其他代码可以在安全的情况下被抢占。

关于linux - 可抢占式 Linux 内核中的调度程序或某些关键内核线程是否可以被抢占?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28018679/

相关文章:

linux - 如何通过给定的 View 路径获取 ClearCase 流名称?

linux - 从 linux "date"命令中提取月份和日期

android - 内核 c 多重函数定义错误

java - Quartz Scheduler (Java) - XML 定义作业的限制

linux - Linux 虚拟化技术的最新发展水平是什么?

linux-kernel - AOSP Android 10 中的内核配置在哪里?

在 Linux 内核中创建您自己的自定义信号

Java 作业调度 : Is this possible with Quartz, 如果不是,我的替代方案是什么?

java - 使用 jar 在 Windows 调度程序中运行批处理脚本

c - C中堆栈帧的函数参数名称和变量名称?