boot hang: async vs. kexec

From: Randy Dunlap
Date: Thu Jan 29 2009 - 16:16:05 EST

I (try to) do daily build/boot testing. The newly built kernel
is booted via kexec. This was working until sometime between
2.6.28 and 2.6.29-rc1, so I bisected it.*

git bisect blames this commit:

96777fe7b042e5a5d0fe5fb861fcd6cd80ef9634 is first bad commit
commit 96777fe7b042e5a5d0fe5fb861fcd6cd80ef9634
Author: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx>
Date: Thu Jan 8 09:46:31 2009 -0600

async: Don't call async_synchronize_full_special() while holding sb_lock

sync_filesystems() shouldn't be calling async_synchronize_full_special
while holding a spinlock. The second while loop in that function is the
right place for this anyway.

The new/kexec-loaded kernel hangs during initcalls. The last one that
I can see (via netconsole, might miss a few of the very last lines) is:

calling net_ns_init+0x0/0x14d @ 1
net_namespace: 1008 bytes
initcall net_ns_init+0x0/0x14d returned 0 after 0 usecs

Any ideas/suggestions?

*caveat: This was all done with the "don't use gcc 4.1.[01]
because it miscompiles __weak" patch reverted. Could that
be an issue/problem here? (I'm using gcc 4.1.1.)


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at