All of lore.kernel.org
 help / color / mirror / Atom feed
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.

  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.