From: Yury Murashka <yurypm@arista.com>
To: bhelgaas@google.com
Cc: rafael@kernel.org, lenb@kernel.org, corbet@lwn.net,
skhan@linuxfoundation.org, rdunlap@infradead.org,
mahesh@linux.ibm.com, oohall@gmail.com,
linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org
Subject: [PATCH v3 0/2] PCI: Add boot options to disable DPC and AER recovery
Date: Thu, 22 Oct 2026 16:58:40 +0000 [thread overview]
Message-ID: <20261022165842.1463451-1-yurypm@arista.com> (raw)
On large modular systems with a complex PCIe topology, allow userspace to
inspect uncorrectable AER errors before Linux attempts recovery and to
opt out of Linux DPC and EDR support.
This series adds two PCI kernel boot options:
pci=noaer_recovery - Retain AER logging and correctable handling, but
skip uncorrectable AER recovery, including CXL RCH
callbacks and recovery of GHES-reported errors.
pci=nodpc - Disable Linux DPC and EDR participation, including
ACPI negotiation and EDR's DPC-enabling _DSM call.
Firmware-owned DPC settings and firmware error recovery remain under
firmware control. The two options can be selected independently.
Changes in v3:
- Patch 1: Check the recovery option before dispatching CXL RCH and
ordinary PCIe errors, addressing the CXL callback bypass.
- Patch 1: Preserve current GHES cleanup and device-reference release.
- Patch 2: Add pci_dpc_available() and use it for DPC services, ACPI
DPC/EDR negotiation, and EDR notifier installation/removal.
- Patch 2: Skip the entire EDR registration path before its enabling
_DSM, and prevent native-port overrides from defeating nodpc.
- Clarify the Linux-only scope and rebase onto the PCI next branch.
v2: https://lore.kernel.org/linux-pci/20260709185429.627968-1-yurypm@arista.com/
AER review: https://lore.kernel.org/linux-pci/20260709190616.DF0CF1F000E9@smtp.kernel.org/
DPC review: https://lore.kernel.org/linux-pci/20260709190730.E19A11F000E9@smtp.kernel.org/
Yury Murashka (2):
PCI: Add pci=noaer_recovery kernel boot option
PCI: Add pci=nodpc kernel boot option
.../admin-guide/kernel-parameters.txt | 9 +++++++
drivers/acpi/pci_root.c | 9 +++++--
drivers/pci/pci.c | 4 ++++
drivers/pci/pci.h | 4 ++++
drivers/pci/pcie/aer.c | 13 ++++++++--
drivers/pci/pcie/dpc.c | 24 ++++++++++++++++---
drivers/pci/pcie/edr.c | 5 +++-
drivers/pci/pcie/portdrv.c | 3 ++-
include/linux/pci.h | 6 +++++
9 files changed, 68 insertions(+), 9 deletions(-)
base-commit: f4319f548f7d8cb595ac1c91bfd459876399eeb3
--
2.51.0
next reply other threads:[~2026-10-22 16:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-22 16:58 Yury Murashka [this message]
2026-10-22 16:58 ` [PATCH v3 1/2] PCI: Add pci=noaer_recovery kernel boot option Yury Murashka
2026-10-22 16:58 ` [PATCH v3 2/2] PCI: Add pci=nodpc " Yury Murashka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261022165842.1463451-1-yurypm@arista.com \
--to=yurypm@arista.com \
--cc=bhelgaas@google.com \
--cc=corbet@lwn.net \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mahesh@linux.ibm.com \
--cc=oohall@gmail.com \
--cc=rafael@kernel.org \
--cc=rdunlap@infradead.org \
--cc=skhan@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox