On Tue, Sep 02, 2025 at 05:44:41PM -0500, Crystal Wood wrote: > On PREEMPT_RT, currently both aer_irq and aer_isr run in separate threads, My understanding is that if request_threaded_irq() is passed both a non-NULL handler and a non-NULL thread_fn, the former runs in hardirq context and the latter in kthread context. Even on PREEMPT_RT. So how can aer_irq() and aer_isr() ever both run in kthread context? Am I missing something? > at the same FIFO priority. This can lead to the aer_isr thread starving > the aer_irq thread, particularly if multi_error_valid causes a scan of > all devices, and multiple errors are raised during the scan. I'm not seeing aer_isr() waiting on a spinlock, so how can it be starved? Thanks, Lukas