On Sun, Aug 30, 2020 at 04:10:53PM +0800, Muchun Song wrote:
> When we isolate page fail, we should not return 0, because we do not
> set page HWPoison on any page.
> 
> Signed-off-by: Muchun Song <songmuc...@bytedance.com>

This seems solve the problem for me that madvise(MADV_SOFT_OFFLINE) will run
into ENOMEM eventually:

https://lore.kernel.org/lkml/20200811220643.gb39...@lca.pw/

Reviewed-by: Qian Cai <c...@lca.pw>

> ---
>  mm/memory-failure.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/mm/memory-failure.c b/mm/memory-failure.c
> index 696505f56910..4eb3c42ffe35 100644
> --- a/mm/memory-failure.c
> +++ b/mm/memory-failure.c
> @@ -1850,6 +1850,7 @@ static int __soft_offline_page(struct page *page)
>       } else {
>               pr_info("soft offline: %#lx: %s isolation failed: %d, page 
> count %d, type %lx (%pGp)\n",
>                       pfn, msg_page[huge], ret, page_count(page), 
> page->flags, &page->flags);
> +             ret = -EBUSY;
>       }
>       return ret;
>  }
> -- 
> 2.11.0
> 
> 

Reply via email to