On Tue 02-01-18 16:55:46, Anshuman Khandual wrote:
> On 12/08/2017 09:45 PM, Michal Hocko wrote:
> > From: Michal Hocko <mho...@suse.com>
> > 
> > do_pages_move is supposed to move user defined memory (an array of
> > addresses) to the user defined numa nodes (an array of nodes one for
> > each address). The user provided status array then contains resulting
> > numa node for each address or an error. The semantic of this function is
> > little bit confusing because only some errors are reported back. Notably
> > migrate_pages error is only reported via the return value. This patch
> 
> It does report back the migration failures as well. In new_page_node
> there is '*result = &pm->status' which going forward in unmap_and_move
> will hold migration error or node ID of the new page.
> 
>       newpage = get_new_page(page, private, &result);
>       ............
>       if (result) {
>               if (rc)
>                       *result = rc;
>               else
>                       *result = page_to_nid(newpage);
>       }
> 

This is true, except the user will not get this information. Have a look
how we do not copy status on error up in the do_pages_move layer.

-- 
Michal Hocko
SUSE Labs

Reply via email to