From: Ingo Molnar <mingo@elte.hu>
To: "Maciej W. Rozycki" <macro@linux-mips.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH] I/O APIC: Timer through 8259A revamp
Date: Mon, 19 May 2008 14:30:56 +0200 [thread overview]
Message-ID: <20080519123056.GB11318@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.55.0805180237350.10067@cliff.in.clinika.pl>
* Maciej W. Rozycki <macro@linux-mips.org> wrote:
> There is some seemingly unnecessary cruft accumulated in the 8254
> timer setup path for the I/O APIC. Some attempts have been made to
> cater for broken BIOSes reporting the ExtINTA I/O APIC pin cascaded
> from the master 8259A as the native timer interrupt input, which
> interfere with the setup sequence in a non-obvious way and require a
> pair of additional kernel command-line parameters.
>
> I think this is unnecessary. All the bits are already in place. With
> the removal of AEOI bits for non-i82489DX systems the whole setup can
> be simplified. Here is a set of changes that reuse the existing code
> for potentially broken systems. The observation is broken systems do
> not have a notion of ExtINTA pins, so only one pin/apic pair will be
> determined as useful for the timer interrupt. Therefore it should be
> safe to select this single pin/apic to test both directly and through
> the 8259A.
>
> This change implements this approach by copying timer pin information
> found to the other pin if one has been found only. This way both
> tests are always performed. The timer input of the 8259A is carefully
> unmasked if needed only and masked again if found unneeded. This is
> because some systems seem sensitive for the master 8259A interrupt
> being active even if all the APIC inputs this line is wired to are
> masked.
>
> The "disable_8254_timer" and "enable_8254_timer" kernel parameters are
> removed as no longer needed.
applied to latest -tip, thanks.
> Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
> ---
> It works for my system, but it definitely requires much, much more
> testing. The patch depends on patch-2.6.26-rc1-20080505-timer_ack-1
> sent earlier.
agreed, scary patch - but nice cleanups!
> Of course these "if (pin? != -1)" statements are useless (though
> harmless) now, but I think that change deserves a separate patch not
> to obfuscate changes to code which is obscure enough already.
please send another patch for that. If you can think of a good way of
splitting up this patch into smaller units feel free to do that too ...
Dangerous changes are much better if they happen in small incremental
steps. (even if the sum of the changes is not any less dangerous - it
just makes any trouble easier to bisect and fix)
Ingo
next prev parent reply other threads:[~2008-05-19 12:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-18 3:35 Maciej W. Rozycki
2008-05-19 12:30 ` Ingo Molnar [this message]
2008-05-19 13:57 ` Maciej W. Rozycki
2008-05-19 12:52 ` Andi Kleen
2008-05-19 14:25 ` Maciej W. Rozycki
2008-05-19 14:50 ` Andi Kleen
2008-05-19 22:08 ` Maciej W. Rozycki
2008-05-19 22:34 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080519123056.GB11318@elte.hu \
--to=mingo@elte.hu \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=macro@linux-mips.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®