Re: [PATCH net-next v2] declance: Remove IRQF_ONESHOT

Maciej W. Rozycki
2026-05-04T22:35:43Z

On Sun, 29 Mar 2026, Maciej W. Rozycki wrote:

> I've now got back to it and while preparing the justification for the
> removal of the IRQF_ONESHOT recommendation and having looked through
> Documentation/core-api/real-time/differences.rst I became stumped and
> need a further clarification after all.
>
> I read in the document that:
>
> "However, on a PREEMPT_RT system, interrupts are forced-threaded and no
> longer run in hard IRQ context."
>
> and:
>
> "All interrupts are forced-threaded in a PREEMPT_RT system. The exceptions
> are interrupts that are requested with the IRQF_NO_THREAD, IRQF_PERCPU, or
> IRQF_ONESHOT flags."
>
> -- do I infer correctly that on a PREEMPT_RT system in the absence of any
> flags passed to request_irq() the handler requested such as one concerned
> here (i.e. lance_dma_merr_int()) will run with interrupts locally enabled
> on the CPU?

No reply, but I've gone through irq_setup_forced_threading() now and my
inference was indeed correct, and the handler does need to be installed
with IRQF_NO_THREAD. I'll send corrective patches shortly.

Maciej