Re: [GIT PULL] scheduler fixes

Yinghai Lu
2009-05-25T05:14:18Z

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