Query on handling some special Group0 interrupt in Linux

Mukesh Ojha quic_mojha at quicinc.com
Wed Nov 9 08:20:35 PST 2022


Hi,

I was working on a use case where both el2/el3 are implemented and we 
have a watchdog interrupt (SPI), which is used for detecting software 
hangs and cause device reset; If that interrupt's current cpu affinity 
is on a core, where interrupts are disabled, we won't be able to serve 
it or if this interrupt comes on a core which has interrupt enabled, 
calling panic() or with smp_send_stop(), we would not be able
to know the call stack of the other cores which is running with 
interrupt disabled.

I was thinking of configuring both a watchdog irq(SPI) and IPI_STOP 
(SGI) or any reserve IPI as an FIQ. And from the watchdog irq handler,
I was thinking of calling panic() which eventually sends IPI_STOP(SGI 
FIQ) to all the cores. And with this we will able to dump all the core 
call stack.

I am able to achieve this but wanted to know if this is acceptable to 
the community to support/allow such use cases like above and enable 
group0 interrupt from GIC for some special use cases.

-Mukesh



More information about the linux-arm-kernel mailing list