Messages in this thread | | | Date | Sun, 24 May 2009 21:52:45 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [GIT PULL] scheduler fixes |
| |
Ingo Molnar wrote: > > Would it be possible to restructure things to move kmalloc init to > before IRQ init as well? We have a couple of uglinesses there too. > > Conceptually, memory should be the first thing set up in general, in > a kernel. It does not need IRQs, timers, the scheduler or any of the > IO facilities and abstractions. All of them need memory though - and > as Linux scales to more and more hardware via the same single image, > so will we get more and more dynamic concepts like cpumask_var_t and > sparse-irqs, which want to allocate very early. > > setup_arch() is one huge function that sets up all architecture > details at once - but if we split a separate setup_arch_mem() out of > it, and left the rest in setup_arch (and moved it further down), we > could remove much of bootmem (especially the ugly uses). > > This might even be doable realistically, and we could thus librarize > bootmem and eliminate it from x86 at least. Perhaps. >
The only thing that might make sense to set up before memory might be exceptions (as opposed to interrupts), but both of those should be doable very very early.
-hpa
-- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
| |