Re: [PATCH] move_pages.2: not return ENOENT if the page are already on the target nodes

From: Michael Kerrisk (man-pages)
Date: Fri Dec 13 2019 - 20:55:23 EST


On 12/6/19 6:26 PM, Yang Shi wrote:
>
>
> On 12/6/19 12:25 AM, John Hubbard wrote:
>> On 12/5/19 5:34 PM, Yang Shi wrote:
>>> Since commit e78bbfa82624 ("mm: stop returning -ENOENT
>>> from sys_move_pages() if nothing got migrated"), move_pages doesn't
>>> return -ENOENT anymore if the pages are already on the target nodes, but
>>> this change is never reflected in manpage.
>>>
>>> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx>
>>> Cc: Christoph Lameter <cl@xxxxxxxxx>
>>> Cc: John Hubbard <jhubbard@xxxxxxxxxx>
>>> Cc: Michal Hocko <mhocko@xxxxxxxx>
>>> Cc: Qian Cai <cai@xxxxxx>
>>> Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>
>>> ---
>>> Â man2/move_pages.2 | 5 ++---
>>> Â 1 file changed, 2 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/man2/move_pages.2 b/man2/move_pages.2
>>> index 2d96468..2a2f3cd 100644
>>> --- a/man2/move_pages.2
>>> +++ b/man2/move_pages.2
>>> @@ -192,9 +192,8 @@ was specified or an attempt was made to migrate
>>> pages of a kernel thread.
>>> Â One of the target nodes is not online.
>>> Â .TP
>>> Â .B ENOENT
>>> -No pages were found that require moving.
>>> -All pages are either already
>>> -on the target node, not present, had an invalid address or could not be
>>> +No pages were found.
>>> +All pages are either not present, had an invalid address or could
>>> not be
>>> Â moved because they were mapped by multiple processes.
>>> Â .TP
>>> Â .B EPERM
>>>
>>
>> whoa, hold on. If I'm reading through the various error paths
>> correctly, then this
>> code is *never* going to return ENOENT for the whole function. It can
>> fill in that
>> value per-page, in the status array, but that's all. Did I get that
>> right?
>
> Nice catch. Yes, you are right.
>
>>
>> If so, we need to redo this part of the man page.
>
> Yes.

So where are things at with this? Is an improved man-pages
patch on the way, or is some other action (on the API) planned?

Thanks,

Michael


--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/