[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20110602122607.3122e23b.akpm@linux-foundation.org>
Date: Thu, 2 Jun 2011 12:26:07 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Daniel Kiper <dkiper@...-space.pl>
Cc: ian.campbell@...rix.com, haicheng.li@...ux.intel.com,
fengguang.wu@...el.com, jeremy@...p.org, konrad.wilk@...cle.com,
dan.magenheimer@...cle.com, v.tolstov@...fip.ru, pasik@....fi,
dave@...ux.vnet.ibm.com, wdauchy@...il.com, rientjes@...gle.com,
xen-devel@...ts.xensource.com, linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: [PATCH V4] mm: Extend memory hotplug API to allow memory
hotplug in virtual machines
On Wed, 25 May 2011 00:27:33 +0200
Daniel Kiper <dkiper@...-space.pl> wrote:
> This patch applies to Linus' git tree, git commit 98b98d316349e9a028e632629fe813d07fa5afdd
> (Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6)
> with a few prerequisite patches available at https://lkml.org/lkml/2011/5/2/296
> and https://lkml.org/lkml/2011/5/17/408 (all prerequisite patches were included in -mm tree).
>
> This patch contains online_page_callback and apropriate functions for
> registering/unregistering online page callbacks. It allows to do some
> machine specific tasks during online page stage which is required
> to implement memory hotplug in virtual machines. Currently this patch
> is required by latest memory hotplug support for Xen balloon driver
> patch which will be posted soon.
>
> Additionally, originial online_page() function was splited into
> following functions doing "atomic" operations:
> - __online_page_set_limits() - set new limits for memory management code,
> - __online_page_increment_counters() - increment totalram_pages and totalhigh_pages,
> - __online_page_free() - free page to allocator.
>
> It was done to:
> - not duplicate existing code,
> - ease hotplug code devolpment by usage of well defined interface,
> - avoid stupid bugs which are unavoidable when the same code
> (by design) is developed in many places.
I grabbed this and the xen patch. I assume that all prerequisites
are now in mainline?
Please give some thought to making this extra code Kconfigurable, and
selected by Xen? See if we can avoid a bit of bloat for other kernel
users.
What is missing from the patchset is an explanation of why we should
merge it ;) Why is this feature desirable? What value does it provide
to our users? Why should we bother? Answering these questions in a
form which can be pasted into the changelog would be convenient,
thanks.
Is there any propsect that the other virtualisation schemes will use
this facility? If not, why not?
>
> ...
>
> @@ -388,7 +450,7 @@ static int online_pages_range(unsigned long start_pfn, unsigned long nr_pages,
> if (PageReserved(pfn_to_page(start_pfn)))
> for (i = 0; i < nr_pages; i++) {
> page = pfn_to_page(start_pfn + i);
> - online_page(page);
> + online_page_callback(page);
nit. I'll change this to
(*online_page_callback)(page);
because that syntax communicates some useful information to the reader.
--
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