随笔分类 - 中断子系统
Linux中断子系统
摘要:softirq 软中断(softirq)是内核虚拟出的一种异步中断,通过raise_softirq()来触发,可以将一些不紧急的任务推迟执行。在软中断中可以处理中断下半部,比如网卡数据收发的软中断NET_TX_SOFTIRQ和NET_RX_SOFTIRQ,还可以处理一些需要异步执行的场景,比如定时器
阅读全文
摘要:中断上下文 前言 中断处理过程中会禁止抢占,如果中断处理函数不能尽快执行完成就会影响系统的实时性,为此内核将中断的处理过程分为上半部(Top Half)和下半部(Bottom Half),将耗时操作推迟到下半部异步执行。 中断上半部:在上半部中执行一些能够快速完成的动作,比如响应外设请求。 中断下半
阅读全文
摘要:前言 在现代计算机系统中,中断模块的硬件越来越复杂,有可能有多个中断控制器(Interrupt Controller, IC)之间进行级联从而拓展可以管理的中断源数量。这就会产生几个问题,每个IC上都连接着多个设备,IC会给irq line连接的每一个设备分配一个硬件中断请求号(HW interru
阅读全文