Re: start_kernel(): bug: interrupts were enabled early

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Benjamin Herrenschmidt
Date: Wednesday, March 31, 2010 - 11:48 pm

On Wed, 2010-03-31 at 23:33 -0400, Andrew Morton wrote:

Because we the problem of when interrupts are enabled for the first time
is a nasty one, and having entire layer of things not usable at the
right level of init because somewhere something might do an irq enable
due to calling generic code that down's a semaphore is a PITA.

Seriously, Andrew, I don't see a clean solution... Something -somewhere-
will have to be ugly.

Allocation is a pretty basic service that a lot of stuff expect
especially when booting.

We went through that discussion before when we moved the SLAB init
earlier during boot, because it makes no sense to have tons of code to
have to figure out what allocator to call depending on what phase of the
moon it's called from (especially when said code can also be called
later during boot, say for hotplug reasons).

So we moved sl*b init earlier, thus we ought to be able to also
kmem_cache_alloc() earlier. We -fixed- that problem already afaik.

Cheers,
Ben.


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
start_kernel(): bug: interrupts were enabled early, Rabin Vincent, (Thu Mar 25, 12:41 pm)
Re: start_kernel(): bug: interrupts were enabled early, Andrew Morton, (Wed Mar 31, 1:40 pm)
Re: start_kernel(): bug: interrupts were enabled early, Andrew Morton, (Wed Mar 31, 1:52 pm)
Re: start_kernel(): bug: interrupts were enabled early, Matthew Wilcox, (Wed Mar 31, 2:01 pm)
Re: start_kernel(): bug: interrupts were enabled early, H. Peter Anvin, (Wed Mar 31, 2:05 pm)
Re: start_kernel(): bug: interrupts were enabled early, Russell King, (Wed Mar 31, 2:05 pm)
Re: start_kernel(): bug: interrupts were enabled early, H. Peter Anvin, (Wed Mar 31, 2:08 pm)
Re: start_kernel(): bug: interrupts were enabled early, H. Peter Anvin, (Wed Mar 31, 2:12 pm)
Re: start_kernel(): bug: interrupts were enabled early, Matthew Wilcox, (Wed Mar 31, 2:17 pm)
Re: start_kernel(): bug: interrupts were enabled early, Andrew Morton, (Wed Mar 31, 2:28 pm)
Re: start_kernel(): bug: interrupts were enabled early, Christoph Lameter, (Wed Mar 31, 2:42 pm)
Re: start_kernel(): bug: interrupts were enabled early, Russell King, (Wed Mar 31, 2:54 pm)
Re: start_kernel(): bug: interrupts were enabled early, H. Peter Anvin, (Wed Mar 31, 2:57 pm)
Re: start_kernel(): bug: interrupts were enabled early, Andrew Morton, (Wed Mar 31, 3:26 pm)
Re: start_kernel(): bug: interrupts were enabled early, Russell King, (Wed Mar 31, 3:30 pm)
Re: start_kernel(): bug: interrupts were enabled early, Benjamin Herrenschmidt, (Wed Mar 31, 3:31 pm)
Re: start_kernel(): bug: interrupts were enabled early, Benjamin Herrenschmidt, (Wed Mar 31, 3:35 pm)
Re: start_kernel(): bug: interrupts were enabled early, H. Peter Anvin, (Wed Mar 31, 3:36 pm)
Re: start_kernel(): bug: interrupts were enabled early, Benjamin Herrenschmidt, (Wed Mar 31, 3:36 pm)
Re: start_kernel(): bug: interrupts were enabled early, Benjamin Herrenschmidt, (Wed Mar 31, 3:37 pm)
Re: start_kernel(): bug: interrupts were enabled early, Andrew Morton, (Wed Mar 31, 3:49 pm)
Re: start_kernel(): bug: interrupts were enabled early, David Howells, (Wed Mar 31, 3:58 pm)
Re: start_kernel(): bug: interrupts were enabled early, Benjamin Herrenschmidt, (Wed Mar 31, 6:17 pm)
Re: start_kernel(): bug: interrupts were enabled early, Andrew Morton, (Wed Mar 31, 8:33 pm)
Re: start_kernel(): bug: interrupts were enabled early, H. Peter Anvin, (Wed Mar 31, 11:26 pm)
Re: start_kernel(): bug: interrupts were enabled early, Benjamin Herrenschmidt, (Wed Mar 31, 11:48 pm)
Re: start_kernel(): bug: interrupts were enabled early, Benjamin Herrenschmidt, (Wed Mar 31, 11:50 pm)
Re: start_kernel(): bug: interrupts were enabled early, Jamie Lokier, (Thu Apr 1, 2:41 am)
Re: start_kernel(): bug: interrupts were enabled early, David Howells, (Thu Apr 1, 3:50 am)
Re: start_kernel(): bug: interrupts were enabled early, David Howells, (Thu Apr 1, 4:06 am)
Re: start_kernel(): bug: interrupts were enabled early, Matthew Wilcox, (Thu Apr 1, 4:23 am)
Re: start_kernel(): bug: interrupts were enabled early, Andrew Morton, (Thu Apr 1, 7:27 am)
Re: start_kernel(): bug: interrupts were enabled early, Christoph Lameter, (Thu Apr 1, 8:55 am)
Re: start_kernel(): bug: interrupts were enabled early, Christoph Lameter, (Thu Apr 1, 8:57 am)
Re: start_kernel(): bug: interrupts were enabled early, Linus Torvalds, (Thu Apr 1, 9:13 am)
Re: start_kernel(): bug: interrupts were enabled early, H. Peter Anvin, (Thu Apr 1, 9:15 am)
Re: start_kernel(): bug: interrupts were enabled early, Linus Torvalds, (Thu Apr 1, 1:12 pm)
Re: start_kernel(): bug: interrupts were enabled early, Benjamin Herrenschmidt, (Thu Apr 1, 4:00 pm)
Re: start_kernel(): bug: interrupts were enabled early, David Howells, (Fri Apr 2, 7:46 am)
Re: start_kernel(): bug: interrupts were enabled early, Linus Torvalds, (Fri Apr 2, 7:54 am)
Re: start_kernel(): bug: interrupts were enabled early, Kevin Hilman, (Wed Apr 7, 12:09 pm)
Re: start_kernel(): bug: interrupts were enabled early, =?utf-8?Q?Am=C3=A9ri ..., (Thu Apr 8, 8:55 am)