Thread (5 messages) flat view 5 messages, 2 authors, 2017-10-20

Re: [PATCH] mm/mempolicy: add node_empty check in SYSC_migrate_pages

From: Vlastimil Babka <hidden>
Date: 2017-10-18 10:46:47
Also in: linux-mm, lkml

On 10/18/2017 11:34 AM, Yisheng Xie wrote:
quoted
quoted
For MAX_NUMNODES is 4, so 0x10 nodemask will tread as empty set which makes
	nodes_subset(*new, node_states[N_MEMORY])
According to manpage of migrate_pages:

        EINVAL The value specified by maxnode exceeds a kernel-imposed
limit.  Or, old_nodes or new_nodes specifies one or more node IDs that
are greater than the maximum supported node ID.  Or, none of the node
IDs specified by new_nodes are on-line and allowed by the process's
current cpuset context, or none of the specified nodes contain memory.

if maxnode parameter is 64, but MAX_NUMNODES ("kernel-imposed limit") is
4, we should get EINVAL just because of that. I don't see such check in
the migrate_pages implementation though.
Yes, that is what manpage said, but I have a question about this: if user
set maxnode exceeds a kernel-imposed and try to access node without enough
privilege, which errors values we should return ? For I have seen that all
of the ltp migrate_pages01 will set maxnode to 64 in my system.
Hm I don't think it matters much and don't know if there's some commonly
used priority. Personally I would do the checks resulting in EINVAL
first, before EPERM, but if the code is structured differently, it may
stay as it is.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help