Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752176AbdIIRgw (ORCPT ); Sat, 9 Sep 2017 13:36:52 -0400 Received: from mail.skyhub.de ([5.9.137.197]:34966 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751154AbdIIRgv (ORCPT ); Sat, 9 Sep 2017 13:36:51 -0400 Date: Sat, 9 Sep 2017 19:36:33 +0200 From: Borislav Petkov To: Markus Trippelsdorf Cc: Andy Lutomirski , Ingo Molnar , Thomas Gleixner , Peter Zijlstra , LKML , Ingo Molnar , Tom Lendacky Subject: Re: Current mainline git (24e700e291d52bd2) hangs when building e.g. perf Message-ID: <20170909173633.4ttfk7maooxkcwum@pd.tnic> References: <20170909130727.3jjnc6p5g45dihmy@pd.tnic> <20170909133745.GA289@x4> <20170909133954.GB289@x4> <20170909140700.bp7jonmp7etlb7ov@pd.tnic> <20170909142014.GC289@x4> <20170909143335.ja2iwjsbeyfxz4ez@pd.tnic> <20170909144350.GA290@x4> <20170909163225.GA290@x4> <20170909170537.6xmxtzwripplhhwi@pd.tnic> <20170909172352.GA290@x4> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20170909172352.GA290@x4> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1179 Lines: 43 On Sat, Sep 09, 2017 at 07:23:52PM +0200, Markus Trippelsdorf wrote: > Hmm, the output is exactly the same as before your patch. Bah, that patch doesn't account for the fact that we're rereading the status field again in do_machine_check(). Ok, let's force MCi_ADDR out. Ontop: --- diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index c63c7ef326c7..e5580da2c491 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -240,8 +240,7 @@ static void __print_mce(struct mce *m) } pr_emerg(HW_ERR "TSC %llx ", m->tsc); - if (m->addr) - pr_cont("ADDR %llx ", m->addr); + pr_cont("ADDR %llx ", m->addr); if (m->misc) pr_cont("MISC %llx ", m->misc); @@ -636,8 +635,9 @@ static void mce_read_aux(struct mce *m, int i) if (m->status & MCI_STATUS_MISCV) m->misc = mce_rdmsrl(msr_ops.misc(i)); + m->addr = mce_rdmsrl(msr_ops.addr(i)); + if (m->status & MCI_STATUS_ADDRV) { - m->addr = mce_rdmsrl(msr_ops.addr(i)); /* * Mask the reported address by the reported granularity. --- Thanks. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.