Re: [RFC 2/2] mm: skip HWPoisoned pages when onlining pages
From: Naoya Horiguchi
Date: Tue Apr 25 2017 - 04:01:58 EST
On Thu, Apr 20, 2017 at 11:26:02AM +0200, Laurent Dufour wrote:
> The commit b023f46813cd ("memory-hotplug: skip HWPoisoned page when
> offlining pages") skip the HWPoisoned pages when offlining pages, but
> this should be skipped when onlining the pages too.
>
> Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx>
> ---
> mm/memory_hotplug.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index 6fa7208bcd56..20e1fadc2369 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -942,6 +942,8 @@ 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);
> + if (PageHWPoison(page))
> + continue;
Is it OK that PageReserved (set by __offline_isolated_pages for non-buddy
hwpoisoned pages) still remains in this path?
If online_pages_range() is the reverse operation of __offline_isolated_pages(),
ClearPageReserved seems needed here.
Thanks,
Naoya Horiguchi
> (*online_page_callback)(page);
> onlined_pages++;
> }
> --
> 2.7.4
>
>