Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx> writes: > On 12/18/19 2:17 AM, Michal Hocko wrote: >> On Tue 17-12-19 23:36:09, John Hubbard wrote: >> [...] >>> diff --git a/man2/move_pages.2 b/man2/move_pages.2 >>> index 2d96468fa..1bf1053f2 100644 >>> --- a/man2/move_pages.2 >>> +++ b/man2/move_pages.2 >>> @@ -191,12 +191,6 @@ was specified or an attempt was made to migrate pages of a kernel thread. >>> .B ENODEV >>> 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 >>> -moved because they were mapped by multiple processes. >>> -.TP >>> .B EPERM >>> The caller specified >>> .B MPOL_MF_MOVE_ALL >>> >>> ...But I'm not sure if we should change the implementation, instead, so >>> that it *can* return ENOENT. That's the main question to resolve before >>> creating any more patches, I think. >> I would start by dropping any note about ENOENT first. I am not really >> sure there is a reasonable usecase for it but maybe somebody comes up >> with something and only then we should consider it. >> >> Feel free to add >> Acked-by: Michal Hocko <mhocko@xxxxxxxx> >> >> ideally with a kernel commit which removed the ENOENT. > > A quick audit doesn't show kernel code or comment notes about ENOENT > wrongly. The status could be set as ENOENT if the page is not present > (follow_page() returns NULL), and man page does match what kernel > does. Doesn't the function one layer up then consume the ENOENT? Eric