Re: [PATCH] genirq: do not mask interrupts by default
On Tue, 2007-03-27 at 09:32 +0200, Ingo Molnar wrote: > * Benjamin Herrenschmidt <[EMAIL PROTECTED]> wrote: > > > Note that I'm not opposed to the change at all, I think it's a good > > idea, I'm just worried I'm discovering it a bit late and I've seen > > PICs broken in some many colorful ways that I'm a bit worried... Oh > > well... > > This change does not really change irq-flow semantics, what it does is > that disable_irq()'s effect is delayed. The irq controller does not have > to re-assert the irq, we've got the soft-resend mechanism. What am i > missing? Are you worried about this change causing actual breakage? (and > i'm sorry about not having Cc:-ed you explicitly, i could have sworn you > were included in that discussion but apparently not!) I'm worried about some broken controllers I know of that might indeed swallow the interrupt if it occurs, we ack it, then disable it, and later on re-enable it... I think the main case I have in mind (pmac-pic) has the necessary retrigger all over the place but there is definitely a change in the flow of disabling/enabling here. Anyway, I'll run some tests tomorrow and make noise if I find something broken, though I can't test the various embedded thingies in arch/powerpc. Ben. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] genirq: do not mask interrupts by default
* Benjamin Herrenschmidt <[EMAIL PROTECTED]> wrote: > Note that I'm not opposed to the change at all, I think it's a good > idea, I'm just worried I'm discovering it a bit late and I've seen > PICs broken in some many colorful ways that I'm a bit worried... Oh > well... This change does not really change irq-flow semantics, what it does is that disable_irq()'s effect is delayed. The irq controller does not have to re-assert the irq, we've got the soft-resend mechanism. What am i missing? Are you worried about this change causing actual breakage? (and i'm sorry about not having Cc:-ed you explicitly, i could have sworn you were included in that discussion but apparently not!) Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] genirq: do not mask interrupts by default
> 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. Note that I'm not opposed to the change at all, I think it's a good idea, I'm just worried I'm discovering it a bit late and I've seen PICs broken in some many colorful ways that I'm a bit worried... Oh well... Ben. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] genirq: do not mask interrupts by default
On Fri, 2007-02-16 at 17:59 +, 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 <[EMAIL PROTECTED]> > AuthorDate: Fri Feb 16 01:28:24 2007 -0800 > Committer: Linus Torvalds <[EMAIL PROTECTED]> > 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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/