On Mon, Nov 30, 2020 at 11:56 PM Peter Zijlstra <pet...@infradead.org> wrote: > > So even if an architecture needs to enable interrupts on idle, we need > it disabled again when coming out. So we might as well have the arch > idle routine then be: STI; HLT; CLI; because then architectures than can > idle with interrupts disabled can avoid mucking about with the interrupt > state entirely.
But that's not what the code is doing. Go look at it. It does sti;hlt;cli;pushf;cli;sti. All for no good reason - because the code is structured so that even if all the tracking and lockdep is disabled, the pointless "let's protect the tracking from interrupts" is still there. See what I am complaining about? Linus