On Tue, Mar 3, 2015 at 9:37 AM, Ingo Molnar <mi...@kernel.org> wrote: > > * Andrew Morton <a...@linux-foundation.org> wrote: > >> On Fri, 27 Feb 2015 13:32:55 +0100 Valentin Rothberg >> <valentin.rothb...@lip6.fr> wrote: >> >> > The IRQF_DISABLED is a NOOP and scheduled to be removed. According to >> > Ingo Molnar (e58aa3d2d0cc01ad8d6f7f640a0670433f794922) running IRQ >> > handlers with interrupts enabled can cause stack overflows when the >> > interrupt line of the issuing device is still active. >> > >> >> I suggest you prepare a patch which removes IRQF_DISABLED entirely. > > Yes. > >> Several drivers still use it and it is possible that they have been >> buggy for some time, [...] > > Well, IRQF_DISABLED is now the unconditional default, so requesting > irqs with IRQF_DISABLED is simply superfluous, not buggy, AFAICS. > >> [...] so we should be careful to cc the relevant maintainers (they >> probably don't exist) so they can check out what's going on in their >> code. > > I think part of it might be the stale spinlock related comment in > Documentation/PCI/MSI-HOWTO.txt which explicitly recommends > IRQF_DISABLED use. So that reference should be zapped as well.
I sent a patch that fixes that already. See commit b0e1ee8e1405ae033a0eac01ead275e65e4e6831 ("MSI-HOWTO.txt: remove reference on IRQF_DISABLED"). > So maybe drivers still using IRQF_DISABLED might not be potentially > broken drivers at all, but are drivers written by exceptionally > capable driver authors, who read kernel documentation! In the context of my PhD, I am diving a little into interrupt handling in Linux. I feel that a lot of information is scattered over documentation, source code comments or no comments at all (i.e., the code itself). Currently I am writing a document (from hard IRQs to workqueues). As soon as it's finished I will think about how and where it could be useful in documentation. Kind regards, Valentin > Thanks, > > Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/