为了使中断处理程序的响应更加快速,Linux通过两种非紧迫的、可中断内核函数即所谓的可延迟函数(软中断和tasklet)和工作队列来实现。
tasklet是建立在软中断之上实现的。
中断上下文:表示内核当前正在执行一个中断处理程序或一个可延迟的函数(软中断和tasklet等)。
软中断的分配是静态的,在编译时就定义好了的,而tasklet的分配和初始化可以在运行时进行动态分配。
软中断(即便是同一种类型的软中断)可以并发地运行在多个CPU上,因此,软中断是可重入函数并且必须明确地使用自旋锁保护其数据结构,tasklet不必担心这些问题,因为相同类型的tasklet总是被串行的执行。