Re: [PATCH 8/8] x86: I/O APIC: Timer through 8259A second-chance

From: Maciej W. Rozycki
Date: Thu Jun 05 2008 - 14:39:27 EST


On Thu, 5 Jun 2008, Ingo Molnar wrote:

> NOTE: you need to copy out and use the boot parameters from the boot
> log:
>
> [ 0.000000] Command line: root=/dev/sda6 console=ttyS0,115200
> earlyprintk=se rial,ttyS0,115200 debug initcall_debug apic=verbose
> sysrq_always_enabled ignore _loglevel selinux=0 nmi_watchdog=1
> profile=0 maxcpus=1 nosmp no_hz=off highres =0 noapic nolapic_timer
> hpet=disable idle=mwait
>
> as -tip testing occasionally randomizes boot parameters too. (to find
> regressions like this) Let me know if you cannot reproduce this.

Thanks. I figured out I cannot build an x86-64 kernel, because my i386
compiler does not support the target. Probably because of target library
dependencies at the time I built my compiler. I would have to build a
bare-iron cross-compiler for the x86-64 which I'd rather not to just to
fix this small problem -- it usually takes a few days to sort out all the
pesky details when doing such a build from scratch, so it better be well
justified.

However, the reason is quite clear to me -- the command line specifies
"noapic" among others (there is also "nosmp", but probably overridden by
"maxcpus=1" -- I am afraid there is no clear precedence among these
options), so the bug is the I/O APIC NMI watchdog is tried at all. This
is also clearly seen from the log where the I/O APIC is not set up at all.

A fix along the lines of what I implemented for "nosmp" in the
"nosmp-watchdog" patch is needed which I will post shortly. It's needed
both for the i386 and the x86-64 target; hopefully the latter does not
differ too much from the former.

Maciej
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/