Received: by 10.223.164.202 with SMTP id h10csp167683wrb; Mon, 13 Nov 2017 04:37:52 -0800 (PST) X-Google-Smtp-Source: AGs4zMZeXsOR8qZN4AhiiznCcS+oDhuFc1Utgsnc9Pp4352xT7CfElIWq2MtZzqyxwW8TfbsAnOM X-Received: by 10.98.61.80 with SMTP id k77mr9419946pfa.226.1510576672065; Mon, 13 Nov 2017 04:37:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510576672; cv=none; d=google.com; s=arc-20160816; b=ufthIjmJwLD/GV7WoO2jECQYUc9PEoDOzzXu1LvOeENsBJFZMUX/6KYbHZwZITUzlt S5rcUwDI1boVJO5UTAHPQsj9jsQwmgJOqbxyMkSjly8dRAR/zD8BPHxLoS1z/HI43l5p 4aJWN0d/TxpIQaVoOW/r+cJ3jdl0Jj/nnWYZQejFuiORy1zTaSbcK4gHxIFP5fHGyPcW CxZ4Ttr9g20vgnC3JnbkFKt3Ts+ESi+gVSyG0CjsMSN1UHXo4gs3TAMw6UNSd1GBRxhY P7YimF5aiw58Gv7R0fteqr/Rpbx463yc56aFAsbA8DCeRmwTX9A/5dX9qNpIOdw6o1u5 VaYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:references:to:subject :arc-authentication-results; bh=eBGfIVOdidviWDbFZRz6Cui+C+hV0FlC41en+KvVCoA=; b=Y1n4C1d1RPHuLDln/GDHOaXDF+vQWmp6BYdeqESdvwxr4SIw6sIde31H1EjLLogoHY cUh9Y/+qMXWNtXIgy09mypHrlzYIoy+/9cTphP6Jj55kLBiF9ZnOpEoVNzWuuZlU1kSv Kk8v2HftdkEQTTL996x4L0gdPHGdNAUuRrwcZVosoDBn3KypxbZyY2tKLO07HHQF8c1q IctihsXJKAIniwgTX3PKlibnGFyTlT6tfXRyOB82tVc1dkgqqCCodUsBUEtj0l4TIEk4 DHE8rJ1sJGFBdGOMCmtyA0zK9E/wY+qDH6d3YGpo4YzujHVQXg34fA3L1nHDTEpUmOHn AfqA== 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 z186si2587454pgb.356.2017.11.13.04.37.38; Mon, 13 Nov 2017 04:37:52 -0800 (PST) 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 S1752681AbdKMMg4 (ORCPT + 95 others); Mon, 13 Nov 2017 07:36:56 -0500 Received: from szxga04-in.huawei.com ([45.249.212.190]:10474 "EHLO szxga04-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752526AbdKMMgy (ORCPT ); Mon, 13 Nov 2017 07:36:54 -0500 Received: from 172.30.72.60 (EHLO DGGEMS404-HUB.china.huawei.com) ([172.30.72.60]) by dggrg04-dlp.huawei.com (MOS 4.4.6-GA FastPath queued) with ESMTP id DKT04094; Mon, 13 Nov 2017 20:36:32 +0800 (CST) Received: from [127.0.0.1] (10.63.141.25) by DGGEMS404-HUB.china.huawei.com (10.3.19.204) with Microsoft SMTP Server id 14.3.361.1; Mon, 13 Nov 2017 20:36:27 +0800 Subject: Re: [PATCH V3 2/2] acpi: apei: call into AER handling regardless of severity To: Tyler Baicar , , , , , , , , References: <1510168392-30114-1-git-send-email-tbaicar@codeaurora.org> <1510168392-30114-3-git-send-email-tbaicar@codeaurora.org> From: Dongdong Liu Message-ID: Date: Mon, 13 Nov 2017 20:36:26 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <1510168392-30114-3-git-send-email-tbaicar@codeaurora.org> Content-Type: text/plain; charset="gbk"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.63.141.25] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020204.5A0991D1.0035,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 13d5344003d45a72fe250fff1c53157a Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org �� 2017/11/9 3:13, Tyler Baicar �: > Currently the GHES code only calls into the AER driver for > recoverable type errors. This is incorrect because errors of > other severities do not get logged by the AER driver and do not > get exposed to user space via the AER trace event. So, call > into the AER driver for PCIe errors regardless of the severity It will also call do_recovery() regardless of the severity for AER correctable errors. Correctable errors include those error conditions where hardware can recover without any loss of information. Hardware corrects these errors and software intervention is not required. So we'd better modify the code as below. diff --git a/drivers/pci/pcie/aer/aerdrv_core.c b/drivers/pci/pcie/aer/aerdrv_core.c index 7448052..a7f77549 100644 --- a/drivers/pci/pcie/aer/aerdrv_core.c +++ b/drivers/pci/pcie/aer/aerdrv_core.c @@ -633,7 +633,8 @@ static void aer_recover_work_func(struct work_struct *work) continue; } cper_print_aer(pdev, entry.severity, entry.regs); - do_recovery(pdev, entry.severity); + if(entry.severity != AER_CORRECTABLE) + do_recovery(pdev, entry.severity); pci_dev_put(pdev); } } Thanks, Dongdong > > Signed-off-by: Tyler Baicar > --- > drivers/acpi/apei/ghes.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c > index 839c3d5..bb65fa6 100644 > --- a/drivers/acpi/apei/ghes.c > +++ b/drivers/acpi/apei/ghes.c > @@ -458,14 +458,12 @@ static void ghes_handle_memory_failure(struct acpi_hest_generic_data *gdata, int > #endif > } > > -static void ghes_handle_aer(struct acpi_hest_generic_data *gdata, int sev, int sec_sev) > +static void ghes_handle_aer(struct acpi_hest_generic_data *gdata) > { > #ifdef CONFIG_ACPI_APEI_PCIEAER > struct cper_sec_pcie *pcie_err = acpi_hest_get_payload(gdata); > > - if (sev == GHES_SEV_RECOVERABLE && > - sec_sev == GHES_SEV_RECOVERABLE && > - pcie_err->validation_bits & CPER_PCIE_VALID_DEVICE_ID && > + if (pcie_err->validation_bits & CPER_PCIE_VALID_DEVICE_ID && > pcie_err->validation_bits & CPER_PCIE_VALID_AER_INFO) { > unsigned int devfn; > int aer_severity; > @@ -519,7 +517,7 @@ static void ghes_do_proc(struct ghes *ghes, > ghes_handle_memory_failure(gdata, sev); > } > else if (guid_equal(sec_type, &CPER_SEC_PCIE)) { > - ghes_handle_aer(gdata, sev, sec_sev); > + ghes_handle_aer(gdata); > } > else if (guid_equal(sec_type, &CPER_SEC_PROC_ARM)) { > struct cper_sec_proc_arm *err = acpi_hest_get_payload(gdata); > From 1583610482121280575@xxx Thu Nov 09 17:30:43 +0000 2017 X-GM-THRID: 1583526487899117441 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread