[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080908103015.GE26079@one.firstfloor.org>
Date: Mon, 8 Sep 2008 12:30:15 +0200
From: Andi Kleen <andi@...stfloor.org>
To: Nick Piggin <nickpiggin@...oo.com.au>
Cc: Andi Kleen <andi@...stfloor.org>,
Yasunori Goto <y-goto@...fujitsu.com>,
Gary Hade <garyhade@...ibm.com>, linux-mm@...ck.org,
Andrew Morton <akpm@...ux-foundation.org>,
Badari Pulavarty <pbadari@...ibm.com>,
Mel Gorman <mel@....ul.ie>, Chris McDermott <lcm@...ibm.com>,
linux-kernel@...r.kernel.org, x86@...nel.org,
Ingo Molnar <mingo@...e.hu>
Subject: Re: [PATCH] [RESEND] x86_64: add memory hotremove config option
On Mon, Sep 08, 2008 at 07:46:30PM +1000, Nick Piggin wrote:
> On Monday 08 September 2008 19:36, Andi Kleen wrote:
> > > You use non-linear mappings for the kernel, so that kernel data is
> > > not tied to a specific physical address. AFAIK, that is the only way
> > > to really do it completely (like the fragmentation problem).
> >
> > Even with that there are lots of issues, like keeping track of
> > DMAs or handling executing kernel code.
>
> Right, but the "high level" software solution is to have nonlinear
> kernel mappings. Executing kernel code should not be so hard because
> it could be handled just like executing user code (ie. the CPU that
> is executing will subsequently fault and be blocked until the
> relocation is complete).
First blocking arbitary code is hard. There is some code parts
which are not allowed to block arbitarily. Machine check or NMI
handlers come to mind, but there are likely more.
Then that would be essentially a hypervisor or micro kernel approach.
e.g. Xen does that already kind of, but even there it would
be quite hard to do fully in a general way. And for hardware hotplug
only the fully generally way is actually useful unfortunately.
-Andi
--
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