Skip to content

Add noaer_recovery and nodpc pci kernel boot option#583

Merged
saiarcot895 merged 2 commits into
sonic-net:masterfrom
yurypm:aer-dpc
Jun 9, 2026
Merged

Add noaer_recovery and nodpc pci kernel boot option#583
saiarcot895 merged 2 commits into
sonic-net:masterfrom
yurypm:aer-dpc

Conversation

@yurypm

@yurypm yurypm commented May 29, 2026

Copy link
Copy Markdown
Contributor

PCI DPC (Downstream Port Containment) is enabled by default in the SONiC Linux kernel. DPC support can be advertised by PCIe devices, but it might not be fully supported in the firmware. The default Linux behavior is incompatible with the Arista chassis hardware architecture. Enabling DPC could cause unexpected behavior and side effects.
It would be nice to have an option to disable DPC on some chassis.

AER error recovery is part of the AER error handling subsystem in the Linux kernel. AER is enabled by default in the SONiC Linux kernel. The default Linux behavior is incompatible with the Arista chassis hardware architecture. Enabling AER recovery on large modular systems with a complex PCIe tree could cause unexpected behavior and side effects.
It would be nice to have an option to disable AER recovery on some chassis.

Add pci=noaer_recovery kernel boot option to disable AER error recovery when an uncorrectable error is reported.
Add pci=nodpc kernel boot option to disable PCI DPC.

@yurypm yurypm requested a review from a team as a code owner May 29, 2026 11:18
@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@saiarcot895

Copy link
Copy Markdown
Contributor

What is the upstreaming plan for these patches?

yurypm added 2 commits June 1, 2026 17:58
AER error recovery is part of the AER error handling subsystem in
the Linux kernel. AER is enabled by default in the SONiC Linux
kernel. The default Linux behavior is incompatible with Arista
chassis hardware architecture. Enabling AER recovery on large
modular systems with a complex PCIe tree could cause unexpected
behavior and side effects. It would be nice to have an option to
disable AER recovery on some chassis.

Add pci=noaer_recovery kernel boot option to disable AER error
recovery when an uncorrectable error is reported.

Signed-off-by: Yury Murashka <yurypm@arista.com>
PCI DPC (Downstream Port Containment) is enabled by default in the
SONiC Linux kernel. DPC support can be advertised by PCIe devices,
but it might not be fully supported in the firmware. The default Linux
behavior is incompatible with Arista chassis hardware architecture.
Enabling DPC could cause unexpected behavior and side effects. It
would be nice to have an option to disable DPC on some chassis.

Add pci=nodpc kernel boot option to disable PCI DPC.

Signed-off-by: Yury Murashka <yurypm@arista.com>
@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@yurypm

yurypm commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

What is the upstreaming plan for these patches?

I don't think that there is any chance that these patches will be accepted into upstream.

@paulmenzel

Copy link
Copy Markdown
Contributor

I don't think that there is any chance that these patches will be accepted into upstream.

Please send them to be sure. They are already properly formatted, so please send them upstream.

@yurypm

yurypm commented Jun 2, 2026

Copy link
Copy Markdown
Contributor Author

I don't think that there is any chance that these patches will be accepted into upstream.

Please send them to be sure. They are already properly formatted, so please send them upstream.

Done. https://lore.kernel.org/linux-pci/20260602105558.1799563-1-yurypm@arista.com/T/#t

@saiarcot895 saiarcot895 merged commit 4030947 into sonic-net:master Jun 9, 2026
8 checks passed
@paulmenzel

Copy link
Copy Markdown
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants