[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A1A241D.603@zytor.com>
Date: Sun, 24 May 2009 21:52:45 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Ingo Molnar <mingo@...e.hu>
CC: Yinghai Lu <yinghai@...nel.org>,
Pekka J Enberg <penberg@...helsinki.fi>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Jeff Garzik <jgarzik@...ox.com>,
Alexander Viro <viro@....linux.org.uk>,
Rusty Russell <rusty@...tcorp.com.au>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists