Re: [PATCH 3/3] mm: Extend memory hotplug API to allow memoryhotplug in virtual machines

From: Dave Hansen
Date: Tue Mar 29 2011 - 16:33:38 EST


On Tue, 2011-03-29 at 12:15 -0700, Andrew Morton wrote:
> On Tue, 29 Mar 2011 20:59:13 +0200
> Daniel Kiper <dkiper@xxxxxxxxxxxx> wrote:

> > OK. I am looking for simple generic mechanism which allow runtime
> > registration/unregistration of generic or module specific (in that
> > case Xen) page onlining function. Dave Hansen sugested compile time
> > solution (https://lkml.org/lkml/2011/2/8/235), however, it does not
> > fit well in my new project on which I am working on (I am going post
> > details at the end of April).
>
> Well, without a complete description of what you're trying to do and
> without any indication of what "does not fit well" means, I'm at a bit
> of a loss to suggest anything.

We need (the arch-independent) online_page() to act differently when
we're hotplugging a Xen ballooned page versus a normal memory hotplug
operation. We've basically run out of pages to take out of the balloon
and we need some more with which to fill it up (thus the hotplug). But,
pages _in_ the balloon are not currently in use. We want to hot-add
pages to the system, but keep them unused.

online_page(page)
{
// add page to counters and max_pfn
...

if (xen_doing_hotplug(page))
put_page_in_balloon(page);
else
free_page(page);
}

Daniel also seems to want to avoid incrementing the counters and then
immediately decrementing them in the Xen code. I'm not sure it matters.

-- Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/