Re: [PATCH] genirq: do not mask interrupts by default

From: Benjamin Herrenschmidt
Date: Tue Mar 27 2007 - 01:08:11 EST


On Fri, 2007-02-16 at 17:59 +0000, Linux Kernel Mailing List wrote:
> Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76d2160147f43f982dfe881404cfde9fd0a9da21
> Commit: 76d2160147f43f982dfe881404cfde9fd0a9da21
> Parent: 1f2ea0837dbc263ce2a2512c4e73c83df68a6a55
> Author: Ingo Molnar <mingo@xxxxxxx>
> AuthorDate: Fri Feb 16 01:28:24 2007 -0800
> Committer: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxxxxxxxx>
> CommitDate: Fri Feb 16 08:14:00 2007 -0800
>
> [PATCH] genirq: do not mask interrupts by default
>
> Never mask interrupts immediately upon request. Disabling interrupts in
> high-performance codepaths is rare, and on the other hand this change could
> recover lost edges (or even other types of lost interrupts) by conservatively
> only masking interrupts after they happen. (NOTE: with this change the
> highlevel irq-disable code still soft-disables this IRQ line - and if such an
> interrupt happens then the IRQ flow handler keeps the IRQ masked.)
>
> Mark i8529A controllers as 'never loses an edge'.

I missed that one ... thanks for not telling/CC'ing me and not fixing
powerpc :-( (I know, everybody is supposed to have the bandwidth to read
all of lkml... I don't).

We need to audit all of our PICs to make sure they can deal with
disabling an already ack'ed interrupt, which isn't clear.. in fact, that
might cause some to lose it when re-enabling later on. This is a major
semantic change and now I just discover it while we are at -rc5 !

I'm concerned that quite a few PICs will not re-emit the interrupt once
re-enabled.

Ben.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/