Messages in this thread Patch in this message | | | Subject | Re: [2.6.25-rc5-mm1] BUG: spinlock bad magic early during boot | From | Dave Hansen <> | Date | Fri, 14 Mar 2008 13:06:24 -0700 |
| |
For those of you new to this thread, here's the initial report:
http://marc.info/?t=120536629300001&r=1&w=2
I'm pretty sure the root cause of this bug is this commit:
ACPI: basic initramfs DSDT override support 71fc47a9adf8ee89e5c96a47222915c5485ac437
Which did this hunk: @@ -648,6 +654,7 @@ asmlinkage void __init start_kernel(void) check_bugs(); + populate_rootfs(); /* For DSDT override from initramfs */ acpi_early_init(); /* before LAPIC and SMP init */ /* Do the rest non-__init'ed, we're now alive */ rest_init(); ... Well, the fs initcalls aren't actually done until during rest_init(), including initializing my mnt_writer[] spinlocks. I guess I could statically initialize them, but that's not the root of the problem, it's just the canary in the coal mine.
I think the populate_rootfs() call is completely bogus and certainly can't be done before the initcalls. But, I don't immediately have any better suggestions for you. Can you delay the ACPI init until after the fs initcalls are made?
-- Dave
| |