进入中断处理程序后,是否必须禁用硬件上的中断?

时间:2016-03-20 12:03:31

标签: linux linux-device-driver interrupt device-driver interrupt-handling

硬件引发了一个中断,cpu在IRQ线上调用了注册的中断处理程序。

在我的设备驱动程序中,在进入处理程序并在完成所需处理后重新启用它们时是否必须禁用中断?

或者,如果我们只是在调用中断处理程序后清除所需的中断状态寄存器而不禁用和重新启用它们,这是否可以?

什么是正确的程序,这种处理架构是否特定(x86,ARM)?

1 个答案:

答案 0 :(得分:0)

当您从已禁用其他中断的上下文调用IRQ处理程序时,您实际上不必担心禁用和重新启用它们。您可以清除标志,快速完成工作,安排工作队列以执行进一步的工作并从处理程序返回。并将启用/禁用部分留给内核