[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090203200459.GA1293@elte.hu>
Date: Tue, 3 Feb 2009 21:04:59 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Linus Torvalds <torvalds@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>
Cc: Jesse Barnes <jesse.barnes@...el.com>,
"Rafael J. Wysocki" <rjw@...k.pl>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andreas Schwab <schwab@...e.de>, Len Brown <lenb@...nel.org>
Subject: Re: Reworking suspend-resume sequence (was: Re: PCI PM: Restore
standard config registers of all devices early)
* Ingo Molnar <mingo@...e.hu> wrote:
> - the screaming-irq observation i had - do you consider that valid?:
>
> >> [ In theory this also solves screaming level-triggered irqs that
> >> advertise themselves as edge-triggered [due to firmware/BIOS bug -
> >> these do happen] and then keep spamming the system. ]
>
> I wanted to have a pretty much interchangeable flow method between edge
> and level triggered - so that the BIOS cannot screw us by enumerating an
> irq as edge-triggered while it's level-triggered.
>
> Especially for legacy x86 irqs in the low <16 range the trigger mode can
> be influenced by chipset settings and might not always be what we think
> it is.
For apic and MSI based methods that's not a big issue: the trigger mode is
explicitly set by us, so if there's a mismatch it's a kernel bug.
And even for legacy ISA i8259a.c it should be fine after all, as we
initialize it via:
set_irq_chip_and_handler_name(irq, &i8259A_chip, handle_level_irq,
Which is a screaming-safe sequence. (and the x86 i8259 PIC does not lose
edges.)
That still leaves other architectures ... but i think the argument is a lot
weaker than i thought it to be.
Could you send a Signed-off-by so that i can queue it up and test it a bit?
If it does not blow up on x86 in practice then we should be fine, and it
avoids the MSI ->mask() stupidity as well.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists