Messages in this thread | | | Date | Thu, 5 Jun 2008 19:33:04 +0100 (BST) | From | "Maciej W. Rozycki" <> | Subject | Re: [PATCH 8/8] x86: I/O APIC: Timer through 8259A second-chance |
| |
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
| |