On Mon, 12 Oct 2015, Andi Kleen wrote:
> From: Andi Kleen <[email protected]>
> 
> The per CPU thermal vector init code checks if the thermal
> vector is already installed and complains and bails out if
> it is.
> 
> This happens after kexec, as kernel shut down does
> not clear the thermal vector APIC register.
> 
> This causes two problems:
> 
> So we always do not fully initialize thermal reports
> after kexec. The CPU is still likely initialized,
> as the previous kernel should have done it. But
> we don't set up the software pointer to the thermal
> vector, so reporting may end up with a unknown thermal
> interrupt message.
> 
> Also it complains for every logical CPU, even though the
> value is actually derived from BP only.
> 
> The problem is that we end up with one message per CPU,
> so on larger systems it becomes very noisy and messes up
> the otherwise nicely formatted CPU bootup numbers in
> the kernel log.
> 
> Just remove the check. I checked the code and there's
> no valid code paths where the thermal init code for a CPU
> could be called multiple times.
> 
> Why the kernel does not clean up this value on shutdown:
> 
> The thermal monitoring is controlled per logical CPU thread.
> Normal shutdown code is just running on one CPU.
> To disable it we would need a broadcast NMI to all CPUs
> on shut down. That's overkill for this. So we just
> ignore it after kexec.
> 
> v2: Updated commit log to discuss why the value is not
> cleaned up on shutdown.
> Signed-off-by: Andi Kleen <[email protected]>

Reviewed-by: Thomas Gleixner <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to