Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753484AbbF0Izj (ORCPT ); Sat, 27 Jun 2015 04:55:39 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:37518 "EHLO mail-wi0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752644AbbF0Izb (ORCPT ); Sat, 27 Jun 2015 04:55:31 -0400 Message-ID: <1435395328.6545.10.camel@gmail.com> Subject: Re: [all better] Re: regression: massive trouble with fpu rework From: Mike Galbraith To: Ingo Molnar Cc: Ingo Molnar , LKML Date: Sat, 27 Jun 2015 10:55:28 +0200 In-Reply-To: <20150627082514.GA10894@gmail.com> References: <1435386316.3664.23.camel@gmail.com> <1435393129.3490.7.camel@gmail.com> <20150627082514.GA10894@gmail.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.11 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2285 Lines: 72 On Sat, 2015-06-27 at 10:25 +0200, Ingo Molnar wrote: > * Mike Galbraith wrote: > > > On Sat, 2015-06-27 at 08:25 +0200, Mike Galbraith wrote: > > > Hi Ingo, > > > > > > My i7-4790 box is having one hell of a time with this merge window, is > > > dead in the water. > > > > BIOS setting "Limit CPUID Maximum" upsets new fpu code mightily. > > Ok, that's interesting. Mind explaining it a bit more verbosely - which setting is > causing what? That BIOS setting is annotated with the helpful text "Disabled for Windows XP". It makes box say interesting things during boot, like... x86/fpu: XSTATE_CPUID missing! ..or with HEAD, it triggers warning.. if (boot_cpu_data.cpuid_level < XSTATE_CPUID) { WARN_ON_FPU(1); return; } ..and all kinds of bad juju follows. I have no idea what the thing does beyond what I can interpolate from the word 'limit'. > This would suggest sensitivity on CPUID details, i.e. that doing > fpu__init_system() before other CPU init sequences is causing the bug. > > Does the patch below perhaps make a difference? (I'd suggest to apply it _without_ > the other patch I sent.) Yup, that made it not care about the BIOS setting.. again. > Thanks, > > Ingo > > arch/x86/kernel/cpu/common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c > index 9fc5e3d9d9c8..922c5e0cea4c 100644 > --- a/arch/x86/kernel/cpu/common.c > +++ b/arch/x86/kernel/cpu/common.c > @@ -742,7 +742,6 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c) > cpu_detect(c); > get_cpu_vendor(c); > get_cpu_cap(c); > - fpu__init_system(c); > > if (this_cpu->c_early_init) > this_cpu->c_early_init(c); > @@ -754,6 +753,7 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c) > this_cpu->c_bsp_init(c); > > setup_force_cpu_cap(X86_FEATURE_ALWAYS); > + fpu__init_system(c); > } > > void __init early_cpu_init(void) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/