Mailinglist Archive: opensuse-kernel (77 mails)

< Previous Next >
Re: [opensuse-kernel] scheduling while atomic with 2.6.31.8
On Wed, Dec 16, 2009 at 01:23:15PM -0500, Jeff Mahoney wrote:
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.

Well but those syscalls will call into almost every part of mm and vfs
code, and could in turn be calling into other things.

I'm not saying it is totally impossible, but I don't know if everything
would have been verified to work. It would be a big job going through
all initcalls etc to ensure we don't call into an uninitialized
subsystem.


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.

Well it used to unpack initramfs I think in the kernel_init thread
which is after the scheduler is up properly and do_basic_setup is
called.


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.
--
To unsubscribe, e-mail: opensuse-kernel+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-kernel+help@xxxxxxxxxxxx

< Previous Next >