Is the Linux interrupt handling process global or local interrupts?
[Copy link]
Recently, I have been studying Linux interrupt-related content and encountered many doubts. One of them is that the interrupt is turned off during the interrupt handler processing. So is it the global interrupt or the local interrupt of this CPU? If it is the local interrupt, can other CPUs repeatedly respond to this interrupt during the interrupt processing? From the perspective of the interrupt controller, is the interrupt occurring at this time just not sent to this core? Is there no other operation in the multi-core system? If other interrupts occur during the current CPU interrupt processing, they are distributed to other cores. The same doubt also appears in the disable_local_irq function. For example, an interrupt triggered by a rising edge or a falling edge, the rising edge enters a CPU processing. At this time, at least the interrupt of this core is turned off, then the falling edge comes soon. Can the interrupt be sent to another core for processing? Doesn't this have a synchronization problem? I don't understand it at all. I hope you can answer it.
|