Linux 伪中断处理

Linux 伪中断处理,linux,linux-kernel,linux-device-driver,interrupt,interrupt-handling,Linux,Linux Kernel,Linux Device Driver,Interrupt,Interrupt Handling,我将p2041与xr17v358芯片一起用于串行接口。当我运行测试应用程序时,我显示了禁用irq消息。之后,我在我的isr中添加了一些调试打印,这样我就知道,即使我的卡没有生成中断,它也在不断地调用isr 我只是想知道虚假的中断。什么是假中断?在基于linux的系统中如何处理它?伪中断是硬件问题还是软件问题?如何知道虚假中断的来源?我想在这里添加信息,手册中提到了虚假中断 来自arm技术手册 它是从userland看不见的。您是否混淆了条件变量的概念,即伪唤醒?@TatsuyukiIshi可以在

我将p2041与xr17v358芯片一起用于串行接口。当我运行测试应用程序时,我显示了禁用irq消息。之后,我在我的isr中添加了一些调试打印,这样我就知道,即使我的卡没有生成中断,它也在不断地调用isr
我只是想知道虚假的中断。什么是假中断?在基于linux的系统中如何处理它?伪中断是硬件问题还是软件问题?如何知道虚假中断的来源?

我想在这里添加信息,手册中提到了虚假中断

来自arm技术手册


它是从userland看不见的。您是否混淆了条件变量的概念,即伪唤醒?@TatsuyukiIshi可以在用户空间中观察到它们,例如通过查看
/proc/interrupts
SPU:
line)或内核日志(
dmesg
输出)。但我同意,信息太少,问题的上下文缺失。@Savan,您需要更新帖子并删除此处的评论。除此之外,您还必须提供其他信息,如您正在使用的内核版本、设备连接的总线类型、正在使用的驱动程序等。kernel ver-3.12.37(Yocto SDK 1.9),总线类型:p2041 PCIe交换机(PI7C9X2G608GP)xr17v358,驱动程序:exar提供的xr17v358
1.4.4 Spurious interrupts

It is possible that an interrupt that the GIC has signaled to a processor is no longer required. If this happens, when
the processor acknowledges the interrupt, the GIC returns a special Interrupt ID that identifies the interrupt as a
spurious interrupt. Example reasons for spurious interrupts are:
• prior to the processor acknowledging an interrupt:
— software changes the priority of the interrupt
— software disables the interrupt
— software changes the processor that the interrupt targets
• for a 1-N interrupt, another target processor has previously acknowledged that interrupt.