首页 > 解决方案 > 中断句柄

问题描述

在<<understanding Linux kernel>>中提到,当中断处理程序运行时,相应的IRQ行会被暂时忽略。所以我想知道为什么IRQ线需要被忽略,要保护什么?谢谢。

换句话说,为什么“在相应的中断处理程序终止之前不应该发生中断”。

标签: linuxinterrupt-handling

解决方案


如果是电平触发中断,则至少在其源被处理程序清除之前必须忽略它,否则中断会重复发生,直到堆栈溢出。并且不管电平触发还是边沿触发,在特定的中断处理程序仍在处理中断时重新进入通常是没有好处的;无论如何,实际的中断程序(上半部分)应该很短。另见上半部分和下半部分概念说明


推荐阅读