Re: [PATCH] x86: Fix thermal throttling reporting after kexec

From: Borislav Petkov
Date: Tue Oct 13 2015 - 07:03:08 EST


On Mon, Oct 12, 2015 at 10:33:53PM +0200, Thomas Gleixner wrote:
> On Mon, 12 Oct 2015, Andi Kleen wrote:
> > From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> >
> > 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 <ak@xxxxxxxxxxxxxxx>
>
> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Applied,
thanks!

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/