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

2007-03-27 Thread Benjamin Herrenschmidt
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

2007-03-26 Thread Ingo Molnar

* 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

2007-03-26 Thread Benjamin Herrenschmidt

> 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

2007-03-26 Thread Benjamin Herrenschmidt
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/