On Tue, Jul 6, 2021 at 6:18 AM Huacai Chen <chenhuacai@xxxxxxxxxxx> wrote: > +void arch_cpu_idle(void) > +{ > + local_irq_enable(); > + __arch_cpu_idle(); > +} This looks racy: What happens if an interrupt is pending and hits before entering __arch_cpu_idle()? Usually CPU idle instructions are designed to be called with interrupts disabled and wait until an interrupt happens, including one that was already pending. Arnd