Re: [v3 PATCH] mm: move_pages: report the number of non-attempted pages

From: Yang Shi
Date: Mon Jan 27 2020 - 14:55:58 EST




On 1/27/20 11:35 AM, Matthew Wilcox wrote:
@@ -1627,8 +1627,18 @@ static int do_pages_move(struct mm_struct *mm, nodemask_t task_nodes,
start = i;
} else if (node != current_node) {
err = do_move_pages_to_node(mm, &pagelist, current_node);
- if (err)
+ if (err) {
+ /*
+ * Possitive err means the number of failed
"positive"

+ * pages to migrate. Since we are going to
+ * abort and return the number of non-migrated
+ * pages, so need incude the rest of the
"need to include"

+ * nr_pages that have not attempted as well.
"have not been attempted"

@@ -1674,6 +1687,13 @@ static int do_pages_move(struct mm_struct *mm, nodemask_t task_nodes,
/* Make sure we do not overwrite the existing error */
err1 = do_move_pages_to_node(mm, &pagelist, current_node);
+ /*
+ * Don't have to report non-attempted pages here since:
+ * - If the above loop is done gracefully there is not non-attempted
"all pages have been attempted"

+ * page.
+ * - If the above loop is aborted to it means more fatal error
s/to// s/more/a/

+ * happened, should return err.
+ */
I'd also be tempted to rename "err" to "ret" since it has meanings beyond
"error" now.

Thanks for catching these problems. Will fix in v4.