From: Bernhard Rosenkraenzer <bero@arklinux.org>
To: linux-kernel@vger.kernel.org
Subject: [FIXED] Re: Total machine lockup w/ current kernels while installing from CD
Date: Mon, 15 May 2006 22:32:03 +0200 [thread overview]
Message-ID: <200605152232.04304.bero@arklinux.org> (raw)
In-Reply-To: <200605110322.14774.bero@arklinux.org>
On Thursday, 11. May 2006 03:22, Bernhard Rosenkraenzer wrote:
> Hi,
> I've built a CD that installs a customized system
> [... crash at a random point ...]
> BUG: soft lockup detected on CPU#0!
>
> Pid: 421, comm: kjournald
> EIP: 0060:[<b01a2f52>] CPU: 0
> EIP is at journal_commit_transaction+0x92e/0xfcc
> EFLAGS: 00000297 Not tainted (2.6.16-rc6 #1)
> EAX: 00000001 EBX: c2d34788 ECX: 00000001 EDX: c785e000
> ESI: b3ff8d04 EDI: 000000f0 EBP: b683b840 DS: 007b ES: 007b
> CR0: 8005003b CR2: 0841f7fc CR3: 17217000 CR4: 000006d0
> [<b02bd52e>] schedule+0x2ee/0x5b6
> [<b01a6a88>] kjournald+0x201/0x213
> [<b0111089>] smp_apic_timer_interrupt+0x32/0x49
> [<b01a6937>] kjournald+0xb0/0x213
> [<b01a5ffa>] commit_timeout+0x0/0x9
> [<b012a789>] autoremove_wake_function+0x0/0x4b
> [<b01a6887>] kjournald+0x0/0x213
> [<b0101005>] kernel_thread_helper+0x5/0xb
After backing out lots of changes, I've figured out the problem is caused by
this bit of 2.6.16-rc6:
diff -urN linux-2.6.16-rc5/kernel/sched.c linux-2.6.16-rc6/kernel/sched.c
--- linux-2.6.16-rc5/kernel/sched.c 2006-05-11 20:04:18.000000000 +0200
+++ linux-2.6.16-rc6/kernel/sched.c 2006-05-11 20:00:00.000000000 +0200
@@ -4028,6 +4021,8 @@
*/
if (unlikely(preempt_count()))
return;
+ if (unlikely(system_state != SYSTEM_RUNNING))
+ return;
do {
add_preempt_count(PREEMPT_ACTIVE);
schedule();
The problem is that (to save a couple of bits of space), my simple installer
was running inside an initrd -- and system_state isn't set to SYSTEM_RUNNING
before linuxrc is executed --> scheduler breakage causes the oops.
Since initrds are deprecated anyway, I've used this opportunity to update the
installer to use initramfs instead, and as expected, the problem went away --
nevertheless [unless initrds are being removed in 2.6.18 anyway] we should
probably fix this or at least document it somewhe.
next prev parent reply other threads:[~2006-05-15 20:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-11 1:22 Total machine lockup w/ current kernels while installing from CD Bernhard Rosenkraenzer
2006-05-14 16:57 ` Bernhard Rosenkraenzer
2006-05-15 20:32 ` Bernhard Rosenkraenzer [this message]
2006-05-15 20:45 ` [FIXED] " Andrew Morton
2006-05-15 20:53 ` Bernhard Rosenkraenzer
2006-05-15 21:12 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200605152232.04304.bero@arklinux.org \
--to=bero@arklinux.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.