Linux在内核中定义了6种运行临界区。

in_interrupt
in_interrupt在驱动中使用频率最高的函数了,in_interrupt()就是指示Core是否正在中断处理中,包含了硬中断,软中断运行临界区。如果在中断处理中,则不能调用__do_softirq
本文详细介绍了Linux内核中的中断临界区,包括in_interrupt函数的作用,强调了硬中断和软中断处理的串行性。通过分析preempt_count,解释了如何确保在同一核心上不发生软中断处理的嵌套,并讨论了占先调度与preempt_count的关系,指出在特定条件下系统不允许占先调度。
Linux在内核中定义了6种运行临界区。

in_interrupt
in_interrupt在驱动中使用频率最高的函数了,in_interrupt()就是指示Core是否正在中断处理中,包含了硬中断,软中断运行临界区。如果在中断处理中,则不能调用__do_softirq
1652
1206
2122
327

被折叠的 条评论
为什么被折叠?