From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753264Ab1LDDPX (ORCPT ); Sat, 3 Dec 2011 22:15:23 -0500 Received: from mail-yw0-f46.google.com ([209.85.213.46]:53361 "EHLO mail-yw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753025Ab1LDDPV (ORCPT ); Sat, 3 Dec 2011 22:15:21 -0500 Message-ID: <4EDAE5C5.30101@lwfinger.net> Date: Sat, 03 Dec 2011 21:15:17 -0600 From: Larry Finger User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: Linus Torvalds CC: Ingo Molnar , Borislav Petkov , "Srivatsa S. Bhat" , LKML Subject: Re: 3.2-rc2 freezes on boot for AMD K6 - bisected to commit bcb80e53877c2045d9e52f4a71372c3fe6501f6f References: <4ED5B70F.606@lwfinger.net> <4ED5C640.8030102@linux.vnet.ibm.com> <4ED5D6C5.5050704@lwfinger.net> <4EDA89F2.9070107@lwfinger.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/03/2011 05:07 PM, Linus Torvalds wrote: > On Sat, Dec 3, 2011 at 12:43 PM, Larry Finger wrote: > > Ugh. I hate that patch. > > It's completely stupid. If "rdmsr_safe()" doesn't work at that point > in the boot, then it's pointless to call it. > > So this change is pure and utter crap: > > - rdmsr_safe(MSR_AMD64_PATCH_LEVEL,&c->microcode,&dummy); > + if (c->x86>= 0xf) > + rdmsr_safe(MSR_AMD64_PATCH_LEVEL,&c->microcode,&dummy); > > because it is misleading as hell: that rdmsr isn't *safe* at all, so > why are we calling "rdmsr_safe()"? > > It's wrong. > > The right patch would either just remove the "safe" part (and just say > that the register has to be supported if c->x86>= 0xf), but quite > honestly, I don't see why we do that thing in early_init_amd() AT ALL. > Afaik, the microcode version field isn't really *needed* by the > kernelin the first place, much less is it needed by the *early* boot, > so why isn't this in 'init_amd()' a bit later when the "safe" version > actually *works*? > > IOW, I think the patch should be something like the attached (TOTALLY > UNTESTED) patch. Larry, does this work for you? It just moves the > rdmsr_safe() to the later function. > > Borislav? > >> I just updated mainline to 3.2-rc4, and that patch is not included. Please >> check with Ingo to see why it was not available. It is a real show stopper >> for old AMD CPUs. > > Ingo seems to have fallen off the earth for the last two weeks. > There's *one* email form him about 12 hours ago, before that the last > one I see is from early November. > > Ingo, everything ok? > > Linus Linus, With your patch, my K8 box boots fine running 3.2-rc4. If you wish, you may add a "Tested-by: Larry Finger . Thanks for the explanation, and the patch, Larry