Re: [PATCH 2/8] mm/migrate.c: not necessary to check start and i

From: David Rientjes
Date: Sun Jan 19 2020 - 17:14:32 EST


On Sun, 19 Jan 2020, Wei Yang wrote:

> diff --git a/mm/migrate.c b/mm/migrate.c
> index ba7cf4fa43a0..c3ef70de5876 100644
> --- a/mm/migrate.c
> +++ b/mm/migrate.c
> @@ -1664,11 +1664,9 @@ static int do_pages_move(struct mm_struct *mm, nodemask_t task_nodes,
> err = do_move_pages_to_node(mm, &pagelist, current_node);
> if (err)
> goto out;
> - if (i > start) {
> - err = store_status(status, start, current_node, i - start);
> - if (err)
> - goto out;
> - }
> + err = store_status(status, start, current_node, i - start);
> + if (err)
> + goto out;
> current_node = NUMA_NO_NODE;
> }
> out_flush:

Not sure this is useful, it relies on the implementation of store_status()
when i == start and the overhead of the function call should actually be
slower than the simple conditional to avoid it in that case?