On Thu, 19 Oct 2006 17:09:22 -0700
Zachary Amsden <zach@xxxxxxxxxx> wrote:
Add a way to disable the timer IRQ routing check via a boot option. The
VMI timer code uses this to avoid triggering the pester Mingo code, which
probes for some very unusual and broken motherboard routings. It fires
100% of the time when using a paravirtual delay mechanism instead of
using a realtime delay, since there is no elapsed real time, and the 4 timer
IRQs have not yet been delivered.
In addition, it is entirely possible, though improbable, that this bug
could surface on real hardware which picks a particularly bad time to enter
SMM mode, causing a long latency during one of the timer IRQs.
While here, make check_timer be __init.
Andi seems to have merged this patch but from somewhere I picked up a
different version, below.
I think the version I have is better. Because the patch Andi has merged is
cast in terms of "irq testing", which is broad. But that's not what the
patch does - the patch handles only timers.
IOW, this:
+
+ noirqtest [IA-32,APIC] Disables the code which tests for broken
+ timer IRQ sources.
is misleadingly named. This:
+ no_timer_check [IA-32,X86_64,APIC] Disables the code which tests for
+ broken timer IRQ sources.
+
is better, no?
But right now, I'll settle for anything which usually compiles.