[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <12c511ca0802191440q6a2f5604xe6b563c32c3a90b2@mail.gmail.com>
Date: Tue, 19 Feb 2008 14:40:35 -0800
From: "Tony Luck" <tony.luck@...il.com>
To: "Roland Dreier" <rdreier@...co.com>
Cc: "David Miller" <davem@...emloft.net>, mingo@...e.hu,
linux-kernel@...r.kernel.org
Subject: Re: Strange hang on ia64 with CONFIG_PRINTK_TIME=y
> Perhaps what is happening is that cpu0 comes online ... safely skips
> over the early printk calls. Calls cpu_init() which sets up the resources
> *it* needs (ar.k3 points to per-cpu space), and then executes
> sched_init() which marks it safe for all printk's. Then cpu1 comes
> up and does a printk before it gets to cpu_init().
I just tried Ingo's patch[1] on a 2.6.25-rc2 kernel with printk timestamps
turned on ... and it booted just fine on my tiger4. The default path
for non-boot cpus is from head.S to start_secondary(), and that
calls cpu_init() pretty quickly. There shouldn't normally[2] be any
printk() calls on the non-boot cpu before it is safe to do so.
-Tony
[1] Attached
[2] If you set #define SMP_DEBUG in arch/ia64/kernel/smpboot.c
that enables at least one printk() that will cause problems if you have
also configured timestamps.
View attachment "ingo.patch" of type "text/x-patch" (1271 bytes)
Powered by blists - more mailing lists