Skip to content

Revert "ACPI: OSL: Use a threaded interrupt handler for SCI" - #580

Merged
saiarcot895 merged 1 commit into
sonic-net:masterfrom
ymd-arista:master
Jun 9, 2026
Merged

Revert "ACPI: OSL: Use a threaded interrupt handler for SCI"#580
saiarcot895 merged 1 commit into
sonic-net:masterfrom
ymd-arista:master

Conversation

@ymd-arista

@ymd-arista ymd-arista commented May 22, 2026

Copy link
Copy Markdown
Contributor

This reverts commit 7a36b901a6eb0e9945341db71ed3c45c7721cfa9.

After upgrading from Debian bookworm to trixie on modular systems, the kdump kernel started hitting a soft lockup while capturing a crash dump. The issue is reproducible by triggering a panic in the production kernel with:

echo c | sudo tee /proc/sysrq-trigger

Once the kdump kernel boots, CPU0 gets stuck in the ACPI SCI handling path and the soft lockup watchdog eventually panics the kdump kernel, so no vmcore is produced.

The trace below was obtained by adding the following to the kdump command line: debug=1, loglevel=7, softlockup_all_cpu_backtrace=1 and softlockup_panic=1:

watchdog: BUG: soft lockup - CPU#0 stuck for 26s! [irq/9-acpi:39]
CPU: 0 UID: 0 PID: 39 Comm: irq/9-acpi Not tainted
  6.12.41+deb13-sonic-amd64 #1  Debian 6.12.41-1
Hardware name: Intel Camelback Mountain CRB, BIOS
  Aboot-norcal7-7.1.6-generic-22971530 06/30/2021
RIP: 0010:acpi_os_read_port+0x30/0xa0
Call Trace:
 <TASK>
 acpi_hw_gpe_read+0x61/0x80
 acpi_ev_detect_gpe+0x74/0x180
 acpi_ev_gpe_detect+0xe1/0x130
 acpi_ev_sci_xrupt_handler+0x1d/0x40
 acpi_irq+0x1c/0x40
 irq_thread_fn+0x23/0x60
 irq_thread+0x1b3/0x2f0
 kthread+0xd2/0x100
 ret_from_fork+0x34/0x50
 ret_from_fork_asm+0x1a/0x30
 </TASK>
Kernel panic - not syncing: softlockup: hung tasks

Comparing the bookworm and trixie kernels, the SCI handler was moved from a hardirq handler to a threaded handler by the commit being reverted. Moving to a threaded IRQ regressed kdump on this hardware; reverting that commit restores the previous hardirq-based SCI handling and the kdump kernel completes the crash dump without triggering the soft lockup watchdog.

This reverts commit 7a36b901a6eb0e9945341db71ed3c45c7721cfa9.

After upgrading from Debian bookworm to trixie on modular systems,
the kdump kernel started hitting a soft lockup while capturing a
crash dump.  The issue is reproducible by triggering a panic in the
production kernel with:

echo c | sudo tee /proc/sysrq-trigger

Once the kdump kernel boots, CPU0 gets stuck in the ACPI SCI handling
path and the soft lockup watchdog eventually panics the kdump kernel,
so no vmcore is produced.

The trace below was obtained by adding the following to the kdump
command line: debug=1, loglevel=7, softlockup_all_cpu_backtrace=1 and
softlockup_panic=1:

    watchdog: BUG: soft lockup - CPU#0 stuck for 26s! [irq/9-acpi:39]
    CPU: 0 UID: 0 PID: 39 Comm: irq/9-acpi Not tainted
      6.12.41+deb13-sonic-amd64 sonic-net#1  Debian 6.12.41-1
    Hardware name: Intel Camelback Mountain CRB, BIOS
      Aboot-norcal7-7.1.6-generic-22971530 06/30/2021
    RIP: 0010:acpi_os_read_port+0x30/0xa0
    Call Trace:
     <TASK>
     acpi_hw_gpe_read+0x61/0x80
     acpi_ev_detect_gpe+0x74/0x180
     acpi_ev_gpe_detect+0xe1/0x130
     acpi_ev_sci_xrupt_handler+0x1d/0x40
     acpi_irq+0x1c/0x40
     irq_thread_fn+0x23/0x60
     irq_thread+0x1b3/0x2f0
     kthread+0xd2/0x100
     ret_from_fork+0x34/0x50
     ret_from_fork_asm+0x1a/0x30
     </TASK>
    Kernel panic - not syncing: softlockup: hung tasks

Comparing the bookworm and trixie kernels, the SCI handler was moved
from a hardirq handler to a threaded handler by the commit being
reverted.  Moving to a threaded IRQ regressed kdump on this hardware;
reverting that commit restores the previous hardirq-based SCI handling
and the kdump kernel completes the crash dump without triggering the
soft lockup watchdog.

Signed-off-by: Mohan Yelugoti <[email protected]>
@ymd-arista
ymd-arista requested a review from a team as a code owner May 22, 2026 19:56
@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

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

@ymd-arista

Copy link
Copy Markdown
Contributor Author

@saiarcot895 : This is another fallout caused by moving from bookworm to trixie. The soft lockup inside kdump kernel was reproduced each time on both supervisor and the linecard.

@kenneth-arista

Copy link
Copy Markdown

@arlakshm @rlhui

@paulmenzel

paulmenzel commented May 24, 2026

Copy link
Copy Markdown
Contributor

Please report this to the upstream list with the people involved in the patch in Cc:, just to get their feedback.

PS: Another regression the commit caused, but was fixed in a follow up.

@saiarcot895

Copy link
Copy Markdown
Contributor

As Paul said, please report this upstream so that a proper permanent fix can be made. See this for reporting issues. Based on the mail thread for the other regression, I'd recommend sending the email to [email protected] and CC the patch author.

@ymd-arista

Copy link
Copy Markdown
Contributor Author

Thanks @paulmenzel and @saiarcot895 . I am currently working on the upstream email. Will link the lkml thread once I report it upstream.

@ymd-arista

Copy link
Copy Markdown
Contributor Author

Upstream reports:

LKML, acpi mailing list archive

@saiarcot895

Copy link
Copy Markdown
Contributor

Will you be able to drive the testing with Linux 7.1, as requested on the mailing list, to see if the problem still exists with that kernel version?

@ymd-arista

ymd-arista commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

@saiarcot895 : Yes, I can look into testing this with 7.1 and reply to the mailing thread.

We should merge this change in the meantime as this is reproducible during every boot of 202511 image and it's going to be some time before we move to 7.1

@saiarcot895
saiarcot895 merged commit 7113ba8 into sonic-net:master Jun 9, 2026
8 checks passed
@@ -0,0 +1,80 @@
From: Mohan Yelugoti <[email protected]>
Date: 2026-05-11

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please format patches with git format-patch.

@paulmenzel

Copy link
Copy Markdown
Contributor

Upstream reports:

LKML, acpi mailing list archive

The lore.kernel.org URL: https://lore.kernel.org/all/[email protected]/

@mssonicbld

Copy link
Copy Markdown

Cherry-pick PR to msft-202601: Azure/sonic-linux-kernel.msft#56

@dgsudharsan

Copy link
Copy Markdown
Collaborator

@ymd-arista Do you want this for 202605? If so please make sure you take #607 as well if the cherry-pick request is approved.

@ymd-arista

Copy link
Copy Markdown
Contributor Author

@dgsudharsan : Yes, we do want it for 202605. I'll make sure we cherry-pick #607 too. Thanks for bringing it up.

@mssonicbld

Copy link
Copy Markdown

This PR has backport request label(s) for branch(es): 202605,msft-202601, but is missing required test information. Please make sure you tick the tested branch(es) in the Tested branch section and provide test evidence (e.g., 202605: <test result>) in the Test result section as well in your PR description.

---Powered by SONiC BuildBot

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

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants