From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752327AbbJLUer (ORCPT ); Mon, 12 Oct 2015 16:34:47 -0400 Received: from www.linutronix.de ([62.245.132.108]:46657 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752025AbbJLUep (ORCPT ); Mon, 12 Oct 2015 16:34:45 -0400 Date: Mon, 12 Oct 2015 22:33:53 +0200 (CEST) From: Thomas Gleixner To: Andi Kleen cc: tony.luck@intel.com, bp@alien8.de, linux-kernel@vger.kernel.org, Andi Kleen Subject: Re: [PATCH] x86: Fix thermal throttling reporting after kexec In-Reply-To: <1444681922-8644-1-git-send-email-andi@firstfloor.org> Message-ID: References: <1444681922-8644-1-git-send-email-andi@firstfloor.org> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001,URIBL_BLOCKED=0.001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 12 Oct 2015, Andi Kleen wrote: > From: Andi Kleen > > 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 Reviewed-by: Thomas Gleixner