Messages in this thread | | | Date | Sun, 24 May 2009 22:13:30 -0700 | From | Yinghai Lu <> | Subject | Re: [GIT PULL] scheduler fixes |
| |
H. Peter Anvin wrote: > 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. >
put trap_init() right after setup_arch() in start_kernel()?
YH
| |