当内核正在处理中断时,如果硬件引发了另一个中断请求,它会怎么做呢?或者这种行为会有害吗?
答案 0 :(得分:2)
在Linux内核2.6+中,它会将中断请求添加到队列中,请求将处于等待状态
答案 1 :(得分:1)
中断将保持等待,除非它具有比前一个更高的优先级,在这种情况下它可能先于前一个中断。此外,如果有太多中断未决,内核将(至少linux)恢复为排队中断的软件。
答案 2 :(得分:0)
小心使用各种RT补丁的内核:中断优先级,因此可以在另一个中断内部产生中断。实际上,在这种情况下,自旋锁不再是自旋锁,它们会变成互斥锁;因此可以中断具有更高优先级的低优先级中断。
例如,请参阅this presentation。
祝你好运。