-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 12/16/2009 01:23 PM, Jeff Mahoney wrote:
On 12/16/2009 04:48 AM, Nick Piggin wrote:
On Wed, Dec 16, 2009 at 11:09:17AM +0100, Takashi Iwai wrote:
At Tue, 15 Dec 2009 13:24:45 +0100, Andreas Jaeger wrote:
I saw with 2.6.31.7 and now again with 2.6.31.8 some OOPS during boot. Should I open a bugreport for this? Does this happen for others as well?
Did it happen with 11.2-GM kernel? If it's a regression from the older 2.6.31, it'd be easier to find the cause.
If so, the commit below smells, judging from the stacktrace...
Tue Dec 1 16:22:31 CET 2009 - jeffm@suse.com - patches.suse/init-move-populate_rootfs-back-to-start_kernel: init: move populate_rootfs back to start_kernel (bnc#533555). - patches.suse/acpi-generic-initramfs-table-override-support: ACPI: generic initramfs table override support (bnc#533555).
Yeah you are probably right. Jeff I think it is a bit dodgy to call random core code like this from the swapper thread... If we haven't called at least do_basic_setup then we haven't got things like workqueues or got all our initcalls called.
Yeah, but that's sort of the point. I guess I didn't do enough testing with the -desktop kernel on this because I didn't run into this while testing the default kernel.
The thing is that this is just noise. It's not random core core, it's focused on sys_{open,read,write,close} and in the rootfs init ramfs file system.
This is where it used to unpack the initramfs anyway but got caught up in usermodehelper expecting infrastructure that didn't exist yet, causing oopses. The patch before this one ensures that there will be no userspace calls until rootfs_initcall.
do_basic_setup is after smp_init, which is what you need to run the early acpi setup before. So we have a bit of a problem.
Yep. That's the crux of it. I agree that we need to find a solution to this, and just ripping it out isn't the answer. Users were actively requesting this patch be included in 11.2 to fix real issues on their systems.
A previous version of this patch did essentially the same thing except it open coded the read/write calls instead. You can see why I think this version is a bit more flexible.
As an aside, I think one potential solution might be to implement a simple_file_write() that sidesteps all of the generic infrastructure surrounding do_sync_write(). I'm exploring that now. - -Jeff - -- Jeff Mahoney SUSE Labs -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.12 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAkspLM0ACgkQLPWxlyuTD7IIFwCfXrVV6JrStvUbTKGrvf5sUsNc txwAn29gQOnKHuaFqqsrdB+YrwZP2oVY =ZwL/ -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org