[LTP] [RFC PATCH] mm: correct status code which move_pages() returns for zero page

Michal Hocko mhocko@suse.com
Tue Apr 17 15:03:00 CEST 2018


On Tue 17-04-18 19:06:15, Li Wang wrote:
[...]
> diff --git a/mm/migrate.c b/mm/migrate.c
> index f65dd69..2b315fc 100644
> --- a/mm/migrate.c
> +++ b/mm/migrate.c
> @@ -1608,7 +1608,7 @@ static int do_pages_move(struct mm_struct *mm, nodemask_t task_nodes,
>  			continue;
>  
>  		err = store_status(status, i, err, 1);
> -		if (err)
> +		if (!err)
>  			goto out_flush;

This change just doesn't make any sense to me. Why should we bail out if
the store_status is successul? I am trying to wrap my head around the
test case. 6b9d757ecafc ("mm, numa: rework do_pages_move") tried to
explain that move_pages has some semantic issues and the new
implementation might be not 100% replacement. Anyway I am studying the
test case to come up with a proper fix.

>  
>  		err = do_move_pages_to_node(mm, &pagelist, current_node);
> -- 
> 2.9.5
> 

-- 
Michal Hocko
SUSE Labs


More information about the ltp mailing list