Re: [PATCH] mm,hwpoison: Return -EBUSY when migration fails

From: Oscar Salvador
Date: Wed Dec 09 2020 - 05:39:23 EST


On Wed, Dec 09, 2020 at 11:25:31AM +0100, Vlastimil Babka wrote:
> On 12/9/20 10:28 AM, Oscar Salvador wrote:
> > Currently, we return -EIO when we fail to migrate the page.
> >
> > Migrations' failures are rather transient as they can happen due to
> > several reasons, e.g: high page refcount bump, mapping->migrate_page
> > failing etc.
> > All meaning that at that time the page could not be migrated, but
> > that has nothing to do with an EIO error.
> >
> > Let us return -EBUSY instead, as we do in case we failed to isolate
> > the page.
> >
> > While are it, let us remove the "ret" print as its value does not change.
> >
> > Signed-off-by: Oscar Salvador <osalvador@xxxxxxx>
>
> Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
>
> Technically this affects madvise(2) so let's cc linux-api. The manpage doesn't
> document error codes of MADV_HWPOISON and MADV_SOFT_OFFLINE (besides EPERM)
> though so nothing to adjust there. It's meant only for the hwpoison testing
> suite anyway.

Well, not only for hwpoison testing suite.

RAS/CEC and GHES also use soft_offline_page by means of memory_failure_queue
in case a page cec count goes beyond a certain thereshold, but they do not
really check the return code.

Only madvise does.


--
Oscar Salvador
SUSE L3