Why not at least move it to after the local_irq_disable()?
That local_irq_disable() will do tons of writes if you have
lockdep enabled, it calls trace_hardirqs_off() etc. Maybe they don't end
up ever mattering, but wouldn't it make much more sense to just move the
wbinvd down to just before the
while (1)
halt();
which is also likely to make sure that the compiler won't do anything at
all because everything is dead at that point with no function calls etc
happening.
Linus
--