WebThe function __synchronize_hardirq() has been waiting for IRQD_IRQ_INPROGRESS to be cleared forever as per the current implementation. CPU stuck here for a long time leads to soft lockup: while (irqd_irq_inprogress(&desc->irq_data)) cpu_relax(); Call trace from the lockup CPU: [ 87.238866] watchdog: BUG: soft lockup - CPU#37 stuck for 23s! Web• handle_fasteoi_irq • handle_edge_irq • handle_percpu_irq Each of these sets the IRQ descriptor’s status flag IRQ_INPROGRESS, and then calls redirect_ hardirq(). redirect_hardirq()checksifthreadedinterrupts are enabled, and if the current IRQ is threaded (the IRQ flag IRQ_NODELAY is not set) then the associ-ated thread (do_irqd) is ...
include/linux/irq.h - kernel/common - Git at Google
WebThe function __synchronize_hardirq() has been waiting for IRQD_IRQ_INPROGRESS to be cleared forever as per the current implementation. CPU stuck here for a long time leads to soft lockup: while (irqd_irq_inprogress(&desc->irq_data)) cpu_relax(); Call trace from the lockup CPU: [ 87.238866] watchdog: BUG: soft lockup - CPU#37 stuck for 23s! WebLKML Archive on lore.kernel.org help / color / mirror / Atom feed * [RFC PATCH] genirq: introduce handle_fasteoi_edge_irq flow handler @ 2024-03-10 10:14 Yipeng Zou 2024-04-14 11:25 ` Marc Zyngier 0 siblings, 1 reply; 3+ messages in thread From: Yipeng Zou @ 2024-03-10 10:14 UTC (permalink / raw) To: tglx, maz, samuel, oleksandr_tyshchenko, … immediate correction 意味
Linux interrupt (Interrupt) subsystem 3: Central cut-off control ...
WebLKML Archive on lore.kernel.org help / color / mirror / Atom feed * [PATCH] irq: fasteoi handler re-runs on concurrent invoke @ 2024-03-17 9:53 James Gowans 2024-03-17 10:12 ` Yipeng Zou 2024-04-09 11:41 ` Marc Zyngier 0 siblings, 2 replies; 13+ messages in thread From: James Gowans @ 2024-03-17 9:53 UTC (permalink / raw) To: Thomas Gleixner Cc: … * IRQD_IRQ_STARTED - Startup state of the interrupt * IRQD_MANAGED_SHUTDOWN - Interrupt was shutdown due to empty affinity * mask. Applies only to affinity managed irqs. * IRQD_SINGLE_TARGET - IRQ allows only a single affinity target * IRQD_DEFAULT_TRIGGER_SET - Expected trigger already been set * IRQD_CAN_RESERVE - Can use reservation mode WebIRQ, and then ack IRQ (usually associated with mask_ack_irq). Even if the device sends an interrupt request again, the handle_irq_event ends and the irq_inprogress mark is cleared after unmask IRQ. I don't know if other systems like x86 have different behaviors. If you know something, please let me know. immediate conversion to roth ira