On Wed, Dec 09, 2020 at 11:25:31AM +0100, Vlastimil Babka wrote:
On 12/9/20 10:28 AM, Oscar Salvador wrote:
quoted
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@suse.de>
Acked-by: Vlastimil Babka <redacted>
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