Re: [PATCH v2] genirq/manage: Reduce priority of forced secondary interrupt handler
From: Sebastian Andrzej Siewior
Date: Tue Oct 28 2025 - 09:58:00 EST
On 2025-10-28 14:44:38 [+0100], Lukas Wunner wrote:
> On Tue, Oct 28, 2025 at 01:06:52PM +0100, Sebastian Andrzej Siewior wrote:
> > On 2025-10-27 13:59:31 [+0100], Lukas Wunner wrote:
> > > The issue does not show on non-PREEMPT_RT because the primary handler
> > > runs in hardirq context and thus can preempt the threaded secondary
> > > handler, clear the Root Error Status register and prevent the secondary
> > > handler from getting stuck.
> >
> > Not sure if I mentioned it before but this is due to forced threaded
> > IRQs which can also be enabled on non-PREEMPT_RT systems via `threadirqs`.
>
> According to the commit which introduced the "threadirqs" command line
> option, 8d32a307e4fa ("genirq: Provide forced interrupt threading"),
> it is "mostly a debug option". I guess the option allows testing
> the waters on arches which do not yet "select ARCH_SUPPORTS_RT"
> to see if force-threaded interrupts break anything. I recall the
> option being available in mainline for much longer than PREEMPT_RT
> and it was definitely useful as a justification to upstream changes
> which were otherwise only needed by the out-of-tree PREEMPT_RT patches.
There are people using it without PREEMPT_RT due to $reasons. It is not
documented in Documentation/admin-guide/kernel-parameters.txt as an
option meant only for debugging.
> Intuitively I would assume that debug options are not worth calling out
> in commit messages or code comments as users and developers will
> primarily be interested in the real deal (i.e. PREEMPT_RT) and not
> an option which gets us only halfway there. However if you
> (or anyone else) feels strongly about it, I'll be happy to respin.
I argued and sent patches to fix code which was wrong on PREEMPT_RT due
to threadirqs and was also wrong without PREEMPT_RT enabled but solely
with forced-threaded irqs.
But please wait once tglx/irq or peterz/sched says something here before
repining.
> Thanks for taking a look!
>
> Lukas
Sebastian