[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d193d219-0e2a-4a5c-b838-b5ea042bfab8@gmail.com>
Date: Thu, 26 Apr 2018 12:44:57 -0500
From: "Alex G." <mr.nuke.me@...il.com>
To: Borislav Petkov <bp@...en8.de>
Cc: linux-acpi@...r.kernel.org, linux-edac@...r.kernel.org,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Len Brown <lenb@...nel.org>, Tony Luck <tony.luck@...el.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Robert Moore <robert.moore@...el.com>,
Erik Schmauss <erik.schmauss@...el.com>,
Tyler Baicar <tbaicar@...eaurora.org>,
Will Deacon <will.deacon@....com>,
James Morse <james.morse@....com>,
Shiju Jose <shiju.jose@...wei.com>,
"Jonathan (Zhixiong) Zhang" <zjzhang@...eaurora.org>,
Dongjiu Geng <gengdongjiu@...wei.com>,
linux-kernel@...r.kernel.org, devel@...ica.org,
austin_bolen@...l.com, alex_gagniuc@...lteam.com,
shyam_iyer@...l.com
Subject: Re: [RFC PATCH v3 2/3] acpi: apei: Do not panic() on PCIe errors
reported through GHES
Hi Borislav,
On 04/26/2018 06:19 AM, Borislav Petkov wrote:
> On Wed, Apr 25, 2018 at 03:39:50PM -0500, Alexandru Gagniuc wrote:
>> @@ -932,7 +971,7 @@ static void __process_error(struct ghes *ghes)
>> static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs)
>> {
>> struct ghes *ghes;
>> - int sev, ret = NMI_DONE;
>> + int sev, asev, ret = NMI_DONE;
>>
>> if (!atomic_add_unless(&ghes_in_nmi, 1, 1))
>> return ret;
>> @@ -945,8 +984,9 @@ static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs)
>> ret = NMI_HANDLED;
>> }
>>
>> + asev = ghes_actual_severity(ghes);
>> sev = ghes_severity(ghes->estatus->error_severity);
>
> So renaming ghes_deferrable_severity() to ghes_actual_severity() is not
> a big change. And that's not what I meant.
I'm sorry I misunderstood you.
> I'd like to see here:
>
> sev = ghes_severity(ghes);
sev = ghes_severity(ghes);
> and inside you do all the required mapping/severity processing/etc. And
> you can rename the current ghes_severity() to ghes_map_cper_severity()
> or whatever...
I agree that the current ghes_severity() name is vague. I'll get it done
properly in v4 (next week).
>> - if (sev >= GHES_SEV_PANIC) {
>> + if ((sev >= GHES_SEV_PANIC) && (asev >= GHES_SEV_PANIC)) {
>
> ... so that this change doesn't happen and there are not two severities
> queried but a single one.
Two severities is a result of the wanky GHES data structure. Nothing
says we have to use the severity field in the header... if you're okay
with just ignoring it.
Alex
Powered by blists - more mailing lists