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 <[email protected]>
> ---
>  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
>
>

Reply via email to