Re: [PATCH v2] ACPI: APEI: Handle repeated SEA error storms
"Rafael J. Wysocki (Intel)" <[email protected]> Fri, 7 Aug 2026 19:24:45 +0200
| Newsgroups | gmane.linux.kernel,gmane.linux.acpi.devel,gmane.linux.ports.arm.kernel |
|---|---|
| Message-ID | <CAJZ5v0hZyh3n8KHSa3DBbaTV7SvNqz9GZHCp0mP8A5aebXSNrA@mail.gmail.com> |
On Fri, Aug 7, 2026 at 6:36 PM Luck, Tony <[email protected]> wrote: > > > a gentle ping on this. > > All comments are welcomed! > > >> I think, but I'm not sure, that you are addressing call from here. By > >> returning -ECANCELLED this code skips the irq_work_queue() call and > >> returns -ENOENT (instead of zero). > >> > >> ghes_in_nmi_spool_from_list() > >> > >> Effect here is more complex. Depends on whether there are multiple > >> ghes entries on the rcu_list. If there was just one, and you return > >> -ECANCELLED, then irq_work_queue() is skipped. But if there are multiple > >> entries on the list and at least one of them gets a zero return from > >> ghes_in_nmi_queue_one_entry() then irq_work_queue() is called. > > Hi Luck Tony, > > > > Thanks for the comments. > > > > This fix is only for the call to ghes_in_nmi_spool_from_list() from ghes_notify_sea() on > > ARM platforms (ACPI_HEST_NOTIFY_SEA); other paths are unchanged. > > > > If multiple SEA errors occur simultaneously, multiple entries in ghes_sea are active > > and one of them returns 0, then -ECANCELED is discarded, but the unhandled > > SEA will simply trigger again and re-enter the SEA handler to be processed. > > > > The worst case is when multiple valid SEA entries persist within the 10-second > > ghes_estatus_cached() window — the fact is that a great many SEA errors are > > produced, which actually constitutes a real SEA storm, not one triggered by a single > > SEA, and in this situation not delivering SIGBUS in time to kill the process is acceptable. > > I think this is OK. > > Reviewed-by: Tony Luck <[email protected]> Applied as 7.3 material, thanks!