Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp453459rwd; Wed, 14 Jun 2023 19:18:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4jVng5aZcbhAGImKlA6Ue3IbWWvi+6SUFPAE7CbJerjF9B2xQC6VYZnzXSGGEPDvAUT5i8 X-Received: by 2002:a05:6512:2f5:b0:4f3:aa29:b672 with SMTP id m21-20020a05651202f500b004f3aa29b672mr9876675lfq.30.1686795534885; Wed, 14 Jun 2023 19:18:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686795534; cv=none; d=google.com; s=arc-20160816; b=tKH+IiHSCkN6h72eV5zNwujeIByf8jUTpZZrkj1ISj8XiqpmnNKgi+xJXmOieJ7rUY hXpzJbNpq8Z78lnDIkwg06eOI7K3N6bsm3VrNBbEPy1vy0mx9lPndg6Ylsf0TBsK+KjG BOBR16Y8QDxyU57cuLC2ThEDbUYrb6I5Eqha8CSACW685KCjtT38SbcdyWon9YsFWsIT xc/Vm3Ka8AmG/pWFum5APQ37wPu2fso+XnBv2UivEZVPBHQDh4MXcbR3PAjb3txtpUP4 ct7fPoG8y2rI3xXvHRGUoYRZhRPcqzT+naztJqDoh1MskE2dgIlxTZ9l+yVRvWkeS/Jr eXvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=Fkc3ndzEeYU1ivCqXXq3tqWExlSMymdMcn53O2nNvio=; b=h2PfHQXJLDZBS5TTWzLzU03N+HaXPCCUFrl++bKh5is+u/OLQtzI3vqxbsuMkOGObA mxZ6AkCdOVHg2JEX5RlfOGgEp600Ig85jJgzDHBQaRxMBBBwhMBcZ7PnD+xIs1iSNFgu J9BaRsTHWC4WZkDOBeim9lz+s0uvOSI/4N8OQprmyXfabC02a1ggy0ZE9ChZ7Oh21dwX 8C+29bzj1ZFKGm/XR1L8GVUUIscsRwVx4XJ9hoUnL3PcuyYmkDGhfDAAh2FTeYIfb9QU X4RAzxGCq1QDu00t1KaBnhEJKgLQEd6r6mwfyNhQ7fZJF07l5Ehdat3lJMGNQn1QAbN2 /sTA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n11-20020a056402060b00b0051501a67234si9560404edv.610.2023.06.14.19.18.27; Wed, 14 Jun 2023 19:18:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237482AbjFOCDK (ORCPT + 99 others); Wed, 14 Jun 2023 22:03:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236965AbjFOCDJ (ORCPT ); Wed, 14 Jun 2023 22:03:09 -0400 Received: from out30-98.freemail.mail.aliyun.com (out30-98.freemail.mail.aliyun.com [115.124.30.98]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B67D21BD4; Wed, 14 Jun 2023 19:03:07 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R131e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046059;MF=xueshuai@linux.alibaba.com;NM=1;PH=DS;RN=11;SR=0;TI=SMTPD_---0Vl8U56V_1686794582; Received: from 30.240.112.107(mailfrom:xueshuai@linux.alibaba.com fp:SMTPD_---0Vl8U56V_1686794582) by smtp.aliyun-inc.com; Thu, 15 Jun 2023 10:03:03 +0800 Message-ID: Date: Thu, 15 Jun 2023 10:03:00 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.11.1 Subject: Re: [PATCH 1/3] x86/MCE/AMD: Split amd_mce_is_memory_error() Content-Language: en-US To: Yazen Ghannam , linux-edac@vger.kernel.org Cc: linux-kernel@vger.kernel.org, tony.luck@intel.com, x86@kernel.org, muralidhara.mk@amd.com, joao.m.martins@oracle.com, william.roche@oracle.com, boris.ostrovsky@oracle.com, john.allen@amd.com, baolin.wang@linux.alibaba.com References: <20230613141142.36801-1-yazen.ghannam@amd.com> <20230613141142.36801-2-yazen.ghannam@amd.com> <9d0adc21-5b71-a949-fc6d-95dd7ef6f0a7@linux.alibaba.com> From: Shuai Xue In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2023/6/14 23:06, Yazen Ghannam wrote: > On 6/13/2023 10:06 PM, Shuai Xue wrote: >> >> >> On 2023/6/13 22:11, Yazen Ghannam wrote: >>> Define helper functions for legacy and SMCA systems in order to reuse >>> individual checks in later changes. >>> >>> Describe what each function is checking for, and correct the XEC bitmask >>> for SMCA. >>> >>> No functional change intended. >>> >>> Signed-off-by: Yazen Ghannam >>> --- >>>   arch/x86/kernel/cpu/mce/amd.c | 30 +++++++++++++++++++++++++----- >>>   1 file changed, 25 insertions(+), 5 deletions(-) >>> >>> diff --git a/arch/x86/kernel/cpu/mce/amd.c b/arch/x86/kernel/cpu/mce/amd.c >>> index 5e74610b39e7..1ccfb0c9257f 100644 >>> --- a/arch/x86/kernel/cpu/mce/amd.c >>> +++ b/arch/x86/kernel/cpu/mce/amd.c >>> @@ -713,17 +713,37 @@ void mce_amd_feature_init(struct cpuinfo_x86 *c) >>>           deferred_error_interrupt_enable(c); >>>   } >>>   -bool amd_mce_is_memory_error(struct mce *m) >>> +/* >>> + * DRAM ECC errors are reported in the Northbridge (bank 4) with >>> + * Extended Error Code 8. >>> + */ >>> +static bool legacy_mce_is_memory_error(struct mce *m) >>> +{ >>> +    return m->bank == 4 && XEC(m->status, 0x1f) == 8; >>> +} >>> + >>> +/* >>> + * DRAM ECC errors are reported in Unified Memory Controllers with >>> + * Extended Error Code 0. >>> + */ >>> +static bool smca_mce_is_memory_error(struct mce *m) >>>   { >>>       enum smca_bank_types bank_type; >>> -    /* ErrCodeExt[20:16] */ >>> -    u8 xec = (m->status >> 16) & 0x1f; >>> + >>> +    if (XEC(m->status, 0x3f)) >>> +        return false; >>>         bank_type = smca_get_bank_type(m->extcpu, m->bank); >>> + >>> +    return bank_type == SMCA_UMC || bank_type == SMCA_UMC_V2; >>> +} >>> + >>> +bool amd_mce_is_memory_error(struct mce *m) >>> +{ >>>       if (mce_flags.smca) >>> -        return (bank_type == SMCA_UMC || bank_type == SMCA_UMC_V2) && xec == 0x0; >>> +        return smca_mce_is_memory_error(m); >>>   -    return m->bank == 4 && xec == 0x8; >>> +    return legacy_mce_is_memory_error(m); >>>   } >>>     static void __log_error(unsigned int bank, u64 status, u64 addr, u64 misc) >> >> Hi, Yazen, >> >> Which tree are you working on? This patch can not be applied to Linus master ? >> (commit b6dad5178ceaf23f369c3711062ce1f2afc33644) >> > > Hi Shuai, > > I'm using tip/master as the base. > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/log/ > > Sorry, I forgot to mention this in the cover letter. Ok. This patch itself looks good to me. Reviewed-by: Shuai Xue Thanks. Shuai