On Wed, Jan 22, 2020 at 07:56:50PM -0800, Yang Shi wrote:
On 1/22/20 7:27 PM, Wei Yang wrote:
On Thu, Jan 23, 2020 at 07:38:51AM +0800, Yang Shi wrote:
Since commit a49bd4d71637 ("mm, numa: rework do_pages_move"), the semantic of move_pages() was changed to return the number of non-migrated pages (failed to migration) and the call would be aborted immediately if migrate_pages() returns positive value. But it didn't report the number of pages that we even haven't attempted to migrate. So, fix it by including non-attempted pages in the return value.
First, we want to change the semantic of move_pages(2). The return value indicates the number of pages we didn't managed to migrate?
This is my understanding.
Second, the return value from migrate_pages() doesn't mean the number of pages we failed to migrate. For example, one -ENOMEM is returned on the first page, migrate_pages() would return 1. But actually, no page successfully migrated.
This would not happen at all since migrate_pages() would just return -ENOMEM instead of a positive value, right?
Oh, you are right.