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

Andrew Morton
2011-10-10T22:00:43Z

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.