Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1824309imm; Thu, 23 Aug 2018 09:19:22 -0700 (PDT) X-Google-Smtp-Source: AA+uWPxpeDIAt3Wmr61oA0H4sp3X2MibOrF9TeQ/ehNOZ2UAQzCsuTqjQVUfkbilvLD1NaogKM6e X-Received: by 2002:a17:902:c85:: with SMTP id 5-v6mr59398898plt.141.1535041162195; Thu, 23 Aug 2018 09:19:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535041162; cv=none; d=google.com; s=arc-20160816; b=N6o+qMPOTxYhv/+E9xFXdXJyRY9DOurdqsDlT4z/fa7un8+BlPMLcBJYLvhKA/E+VI bP1HaBVO2ByTXt5X/9VPE7aNslZ79f6qtNswqNmYhi+uLGmZSHQk5TNJhrd+uqDnnGKA TQi/ZFp1LgXwa1gl2YhzmfsK4jZ4xapCMV+pGqj75xF9V77N4tf3Hna30xEZKins2nVo DnYWTO3tjXZkDsADF6EAeGxBpb6zewl2USsluK18B4ce9bdl+wuJl1KmSZ9t84r6XvoA 5pEHLZLJO9+GaisUngJAw9hVkHy1O+p5zhSD9r9O8WynZpJEPDDUVVvKCYZNcuowdyPk 1+2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=MRMfWVdYw82v6+bT5khQA7/4fSvDDJwxBhBmffqHrY4=; b=l/mRFrpAhF8OLvHAeFPxgENaagvCxHs7ONqqsRZ9oW1OxmlgOWITInqzSN2bvDpdCl R40nnJUii6SoX2rWBtjZJ6kCjYwwkRtKsKPG6jRUmad0oGkw+MMWCgfrnBhhgsQrnaXL EaPYkW1CA/Jddi7K77uQVtld9ZtGkDmhAg80cTP5hJjjcK4uTl+JkQaUFMVvV9HoYgKo GU7KawnEQcJu2ffLNNy3UdGY86Pao1Tf78ja1jTbi3aqrVRi/uHHOHOlisA2KqxsNdBK gxa4n964SZEszClcbU2dEShOw0mCwXnXyp+Rtj+g4SRkimGM8e8vnOekBPioM3K+6pxv Gjwg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j189-v6si4483103pgd.562.2018.08.23.09.19.07; Thu, 23 Aug 2018 09:19:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728721AbeHWPxq (ORCPT + 99 others); Thu, 23 Aug 2018 11:53:46 -0400 Received: from mail.skyhub.de ([5.9.137.197]:40060 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726332AbeHWPxq (ORCPT ); Thu, 23 Aug 2018 11:53:46 -0400 X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de Received: from mail.skyhub.de ([127.0.0.1]) by localhost (blast.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id obxZkdwr4Hue; Thu, 23 Aug 2018 14:23:57 +0200 (CEST) Received: from nazgul.tnic (77-85-47-250.ip.btc-net.bg [77.85.47.250]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 6835C1EC03C0; Thu, 23 Aug 2018 14:23:57 +0200 (CEST) Date: Thu, 23 Aug 2018 14:24:10 +0200 From: Borislav Petkov To: "Ghannam, Yazen" Cc: "linux-edac@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "tony.luck@intel.com" , "x86@kernel.org" Subject: Re: [PATCH 1/2] Revert "x86/mce/AMD: Collect error info even if valid bits are not set" Message-ID: <20180823122410.GA17393@nazgul.tnic> References: <20180326191526.64314-1-Yazen.Ghannam@amd.com> <20180326193052.GJ25548@pd.tnic> <20180326200742.GF28372@pd.tnic> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Reviving an old issue while cleaning my inbox. On Tue, Mar 27, 2018 at 03:59:37PM +0000, Ghannam, Yazen wrote: > > > On Mon, Mar 26, 2018 at 07:58:51PM +0000, Ghannam, Yazen wrote: > > > > So at a minimum, we should always save and report as much as we can. > > > > > > Only on Zen or all AMD families? > > > > > > > I'll confirm with the HW folks. I understand it as a change in philosophy > > rather than a change in hardware. > > > > So this recommendation could apply to all families, but it's okay if we just Ok, so I think we should do this, still, as it is exactly what the recommendation says: read the MSRs even if the valid bits are not set and it doesn't set any Valid bits to confuse error handling downstream. This way we'll collect all possible info and then mce_amd.c should stop looking at the valid bits too and dump whatever has been logged. Ok? --- diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 4b767284b7f5..c14674025615 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -639,10 +639,12 @@ static struct notifier_block mce_default_nb = { */ static void mce_read_aux(struct mce *m, int i) { - if (m->status & MCI_STATUS_MISCV) + bool is_amd = m->cpuvendor == X86_VENDOR_AMD; + + if (m->status & MCI_STATUS_MISCV || is_amd) m->misc = mce_rdmsrl(msr_ops.misc(i)); - if (m->status & MCI_STATUS_ADDRV) { + if (m->status & MCI_STATUS_ADDRV || is_amd) { m->addr = mce_rdmsrl(msr_ops.addr(i)); /* @@ -668,7 +670,7 @@ static void mce_read_aux(struct mce *m, int i) if (mce_flags.smca) { m->ipid = mce_rdmsrl(MSR_AMD64_SMCA_MCx_IPID(i)); - if (m->status & MCI_STATUS_SYNDV) + if (m->status & MCI_STATUS_SYNDV || is_amd) m->synd = mce_rdmsrl(MSR_AMD64_SMCA_MCx_SYND(i)); } } -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. --