On Mon, Nov 30, 2020 at 11:56 PM Peter Zijlstra <[email protected]> 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