1
这是我的问题。手册说:“当内核收到中断时,所有注册的处理程序都会被调用。”我想知道是否有任何规则,指定处理程序将被调用的顺序?在linux中的中断处理。中断共享
这是我的问题。手册说:“当内核收到中断时,所有注册的处理程序都会被调用。”我想知道是否有任何规则,指定处理程序将被调用的顺序?在linux中的中断处理。中断共享
内核函数request_irq
调用setup_irq
(在kernel/irq/manage.c
中)。它们按照与IRQ相关的顺序链接。也就是说,每个ISR都添加到列表的末尾。
非常感谢,@ wallyk。 – Roman
现在我已经得到另一个问题了。是否有可能使系统首先调用我的haninder而不是调用默认值。 (例如我的处理程序工作,比它只是不清除中断位,所以使系统调用下一个默认)?也许我可以改变你告诉我的链中处理程序的顺序。 – Roman
@Farrel:如果你的代码可以访问内核结构,你可以重新排序链。但为什么?激活ISR的延迟取决于许多系统因素,而不仅仅是链条的顺序。 – wallyk