一、什么是底半部机制
每当有外部中断到来时,CPU会停止当前任务的执行而去执行中断程序,为了提高效率,中断服务程序不宜太大。
对于一个较大的外部中断服务程序,Linux将其划分成2个部分:
(1) 顶半部,不可中断,不可抢占,执行在(硬)中断上下文,一般是读取寄存器状态,执行内容较少
(2)底半部,可中断,可抢占,执行在软中断上下文,执行大部分的中断服务程序
它们的关系用图表示如下:
该机制执行流程如下:
二、用tasklet实现底半部机制
1、tasklet使用tasklet结构体来执行操作
2、创建一个tasklet执行函数来实现底半部工作
3、创建tasklet结构体: