Re: [PATCH] mm: memory hotplug: Check if pages are correctly reserved on a per-section basis

Andrew Morton
2011-10-10T23:28:17Z

On Mon, 10 Oct 2011 16:24:03 -0700
Greg KH <greg@kroah.com> wrote:

> On Mon, Oct 10, 2011 at 03:00:38PM -0700, Andrew Morton wrote:
> > On Mon, 10 Oct 2011 08:11:19 +0100
> > Mel Gorman <mgorman@suse.de> wrote:
> >
> > > It is expected that memory being brought online is PageReserved
> > > similar to what happens when the page allocator is being brought up.
> > > Memory is onlined in "memory blocks" which consist of one or more
> > > sections. Unfortunately, the code that verifies PageReserved is
> > > currently assuming that the memmap backing all these pages is virtually
> > > contiguous which is only the case when CONFIG_SPARSEMEM_VMEMMAP is set.
> > > As a result, memory hot-add is failing on !VMEMMAP configurations
> > > with the message;
> > >
> > > kernel: section number XXX page number 256 not reserved, was it already online?
> > >
> > > This patch updates the PageReserved check to lookup struct page once
> > > per section to guarantee the correct struct page is being checked.
> > >
> >
> > Nathan's earlier version of this patch is already in linux-next, via
> > Greg. We should drop the old version and get the new one merged
> > instead.
>
> Ok, care to send me what exactly needs to be reverted and what needs to
> be added?

Drop

commit 54f23eb7ba7619de85d8edca6e5336bc33072dbd
Author: Nathan Fontenot <nfont@austin.ibm.com>
Date: Mon Sep 26 10:22:33 2011 -0500

memory hotplug: Correct page reservation checking

and replace it with start-of-this-thread.

That's assuming that Mel's update passes Nathan's review and testing :)