On Wed, 09 May 2007 12:51:49 -0400 [email protected] wrote:
> On Wed, 09 May 2007 01:23:22 PDT, Andrew Morton said:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21/2.6.21-mm2/
>
> So I have a canned grub config for booting with netconsole, initcall_debug, and
> all that fun stuff. Tried it on 21-mm2, and it wedged up hard here:
>
> [ 66.842587] TCP: Hash tables configured (established 131072 bind 65536)
> [ 66.842591] TCP reno registered
> [ 66.845424] initcall 0xffffffff806ff7c6: inet_init+0x0/0x34d() returned 0.
> [ 66.845437] initcall 0xffffffff806ff7c6 ran for 14 msecs: inet_init+0x0/0x34d()
> [ 66.845443] Calling initcall 0xffffffff806e28eb: populate_rootfs+0x0/0xea()
> [ 66.845566] checking if image is initramfs... it is
> [ 66.978816] Freeing initrd memory: 1824k freed
> [ 66.979130] initcall 0xffffffff806e28eb: populate_rootfs+0x0/0xea() returned 0.
> [ 66.979141] initcall 0xffffffff806e28eb ran for 127 msecs: populate_rootfs+0x0/0xea()
> [ 66.979146] Calling initcall 0xffffffff8020cf78: time_init_device+0x0/0x22()
>
> Total brick, no sysrq. Had to power cycle. Oddly enough, it boots OK
> with the same grub line, but minus 'earlyprintk=vga initcall_debug':
>
> [ 26.768561] TCP: Hash tables configured (established 131072 bind 65536)
> [ 26.768566] TCP reno registered
> [ 26.771502] checking if image is initramfs... it is
> [ 26.904772] Freeing initrd memory: 1824k freed
> [ 26.910854] audit: initializing netlink socket (disabled)
> [ 26.910874] audit(1178725351.514:1): initialized
> [ 26.911253] VFS: Disk quotas dquot_6.5.1
>
> (My guess is that initcall_debug is trashing some timing constraint that
> time_init_device is relying on?)
>
Could be. We've had numerous problems recently wherein something tries to
read the system time while holding locks which make that illegal. One
popular site is mark_tsc_unstable(), which does a printk, which calls
sched_clock() to get the timestamp.
Maybe this?
--- a/arch/i386/kernel/tsc.c~a
+++ a/arch/i386/kernel/tsc.c
@@ -280,7 +280,7 @@ void mark_tsc_unstable(char *reason)
if (!tsc_unstable) {
tsc_unstable = 1;
tsc_enabled = 0;
- printk("Marking TSC unstable due to: %s.\n", reason);
+// printk("Marking TSC unstable due to: %s.\n", reason);
/* Can be called before registration */
if (clocksource_tsc.mult)
clocksource_change_rating(&clocksource_tsc, 0);
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]