软中断的类型:
关键数据结构和函数介绍:
in_interrupt()函数:
可见,宏in_interrupt()检查当前进程thread_info结构中的preempt_count字段中硬中断和软中断计数器,其全为0,才返回0.
preempt_count字段的含义:
0-7:抢占计数器,记录显示禁用本地CPU内核抢占的次数,值等于0表示允许内核抢占。
8-15:表示软中断被禁用的程度,同样值为0表示处于激活状态。
16-27:表示本地CPU中断处理程序的嵌套数。
表示软中断的主要数据结构为softirq_action类型的数组,数组名为softirq_vec。
另外一个实现软中断的数据结构是irq_cpustat_t。
本文介绍了Linux内核中的软中断机制,包括软中断的类型及其关键数据结构softirq_action和irq_cpustat_t。此外,还详细解释了in_interrupt()宏的工作原理,以及用于跟踪软中断状态的preempt_count字段。

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



