I’m trying to use several interrupt use models with external interrupts (kernel 5.12.1). When it came to threaded interrupt they are not re-enabled anymore after the first time kernel thread runs (I use the IRQF_ONESHOT flag). If I move all the code in Top Half no problem. Has anyone found same behavior?
I printed out the context in the hard irq ad in the thread : interrupt fires on CPU0 and within handler interrupts look disabled, the thread then runs on CPU1 in process context with interrupts enabled. On CPU0 they seem not re-enabled anymore.