Received: by 10.223.176.46 with SMTP id f43csp3299724wra; Mon, 22 Jan 2018 11:42:27 -0800 (PST) X-Google-Smtp-Source: AH8x224LdV/AqkDOHNYxcJFnrG5AOCUUciFf8ftEanwbsiyG/jgawIGrP25sZdkBRxdJbNgKCwkF X-Received: by 10.107.12.143 with SMTP id 15mr2654364iom.243.1516650147596; Mon, 22 Jan 2018 11:42:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516650147; cv=none; d=google.com; s=arc-20160816; b=gKe82Ppl0NeA57SE6/4eDnTH4QQKDJ66vnpdlKSKN8YfLZ5o5Km1sS0zTIXVrIon3D xX0/bE4PPKy8REZsR1KYJmc/5LDDgKWGzyWJpCESBzPIoc+tqMoZ577GV2SU3Ym5n2Mn Wq+ZAkGBowM1iOy0T0eRyxRUlaTOhNVgP8Lty5FYWp5oKtyy8RmExGwxdFWcGs3lyIfV TumylHXYIL3SuRel4cacz0UL2BBVfbwy9QY1Lpf/bCxhrzdiUl3jOufbxyUnhCkRbdVa 2G0mOuYsIaqJeiB4Jub3CXYgb7qtB39Va/VNGmX4VTOnYK/t1DOfuCTepWfnWWGyG64Y g+MA== 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 :references:subject:cc:to:mime-version:user-agent:from:date :message-id:arc-authentication-results; bh=ppPWsL0QkxB5hFPk/mSJ2QyWC9fDI2YfCUFBUXKV+c4=; b=GtF7KtyGhMxDLtMWoA7m9667y1AxYRgElpvb66Qz1H6ZjqPUYT85bVXM+HjKjzXueX jEqfPo/xgAbTDkcyzW6+WY18k5RBojkXOIhkXKGnoZxnPOagf3jdjodIHPRmimAUgwiJ A5UdmzfmcuG+eBvbO1rc2I33xneYHW+/lT2o5TV35Lya7xH3DYkunXRbO8oHne32Sso5 Qax41d/sgNvwGROf4QIhzm4RxJ2Ez74liP97OH90XtdSmXRjBxzBya24eLv6bGQYw/5V ioFOm84weJdKks44yWZi/pt8zX6vBax5HmFTysPDAPvY9Ra3cBH8n8hOD5KJhQEyqgim mb6Q== 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 k76si6639821itb.53.2018.01.22.11.42.11; Mon, 22 Jan 2018 11:42:27 -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 S1751036AbeAVTls (ORCPT + 99 others); Mon, 22 Jan 2018 14:41:48 -0500 Received: from foss.arm.com ([217.140.101.70]:34544 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750825AbeAVTlq (ORCPT ); Mon, 22 Jan 2018 14:41:46 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 896341435; Mon, 22 Jan 2018 11:41:46 -0800 (PST) Received: from [10.1.207.55] (melchizedek.cambridge.arm.com [10.1.207.55]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DD30E3F53D; Mon, 22 Jan 2018 11:41:42 -0800 (PST) Message-ID: <5A663DEC.8080804@arm.com> Date: Mon, 22 Jan 2018 19:39:24 +0000 From: James Morse User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.6.0 MIME-Version: 1.0 To: Dongjiu Geng CC: christoffer.dall@linaro.org, marc.zyngier@arm.com, linux@armlinux.org.uk, catalin.marinas@arm.com, rjw@rjwysocki.net, bp@alien8.de, robert.moore@intel.com, lv.zheng@intel.com, corbet@lwn.net, will.deacon@arm.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-acpi@vger.kernel.org, devel@acpica.org, huangshaoyu@huawei.com Subject: Re: [PATCH v9 3/7] acpi: apei: Add SEI notification type support for ARMv8 References: <1515254577-6460-1-git-send-email-gengdongjiu@huawei.com> <1515254577-6460-4-git-send-email-gengdongjiu@huawei.com> In-Reply-To: <1515254577-6460-4-git-send-email-gengdongjiu@huawei.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Dongjiu Geng, (versions of patches 1,2 and 4 have been queued by Catalin) (Nit 'ACPI / APEI:' is the normal subject prefix for ghes.c, this helps the maintainers know which patches they need to pay attention to when you are touching multiple trees) On 06/01/18 16:02, Dongjiu Geng wrote: > ARMv8.2 requires implementation of the RAS extension. > In > this extension, it adds SEI(SError Interrupt) notification > type, this patch adds new GHES error source SEI handling > functions. This reads as if this patch is handling SError RAS notifications generated by a CPU with the RAS extensions. These are about CPU->Software notifications. APEI and GHES are a firmware first mechanism which is Software->Software. Reading the v8.2 documents won't help anyone with the APEI/GHES code. Please describe this from the ACPI view, "ACPI 6.x adds support for NOTIFY_SEI as a GHES notification mechanism... ", its up to the arch code to spot a v8.2 RAS Error based on the cpu caps. > This error source parsing and handling method > is similar with the SEA. There are problems with doing this: Oct. 18, 2017, 10:26 a.m. James Morse wrote: | How do SEA and SEI interact? | | As far as I can see they can both interrupt each other, which isn't something | the single in_nmi() path in APEI can handle. I thinks we should fix this | first. [..] | SEA gets away with a lot of things because its synchronous. SEI isn't. Xie | XiuQi pointed to the memory_failure_queue() code. We can use this directly | from SEA, but not SEI. (what happens if an SError arrives while we are | queueing memory_failure work from an IRQ). | | The one that scares me is the trace-point reporting stuff. What happens if an | SError arrives while we are enabling a trace point? (these are static-keys | right?) | | I don't think we can just plumb SEI in like this and be done with it. | (I'm looking at teasing out the estatus cache code from being x86:NMI only. | This way we solve the same 'cant do this from NMI context' with the same | code'.) I will post what I've got for this estatus-cache thing as an RFC, its not ready to be considered yet. > Expose API ghes_notify_sei() to external users. External > modules can call this exposed API to parse APEI table and > handle the SEI notification. external modules? You mean called by the arch code when it gets this NOTIFY_SEI? Thanks, James