当多个注册的中断服务程序共享一条IRQ线时,什么决定了中断线被引发时ISR的执行顺序?
答案 0 :(得分:1)
无论如何,顺序是不可预测的,因为如你所说,中断线是共享的。因此,系统中有(或可能是)其他设备驱动程序在与ISR共享的同一中断线上注册ISR。所以你不能假设调用ISR的顺序是什么!
现在当引发中断线时,内核会一个接一个地调用为该行注册的所有ISR,直到某个ISR返回“已命名”为止。
ISR获得一个代表设备的软上下文,由ISR来检查此设备是否是中断源。如果是,ISR将返回CLAIMED,否则不会声明。