Another attempt to rationalize description of MPOL_DEFAULT. Since ~2.6.25, the system default memory policy is "local allocation". MPOL_DEFAULT itself is a request to remove any non-default policy and "fall back" to the surrounding context. Try to say that without delving into implementation details. Signed-off-by: Lee Schermerhorn <lee.schermerhorn@xxxxxx> man2/set_mempolicy.2 | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) Index: man-pages-3.05/man2/set_mempolicy.2 =================================================================== --- man-pages-3.05.orig/man2/set_mempolicy.2 2008-07-29 16:49:36.000000000 -0400 +++ man-pages-3.05/man2/set_mempolicy.2 2008-07-29 16:50:22.000000000 -0400 @@ -99,15 +99,15 @@ A non-empty specifies physical node ids. Linux does will not remap the .I nodemask -when the task moves to a different cpuset context, -nor when the set of nodes allowed by the task's +when the process moves to a different cpuset context, +nor when the set of nodes allowed by the process' current cpuset context changes. .TP .B MPOL_F_RELATIVE_NODES A non-empty .I nodemask specifies node ids that are relative to the set of -node ids allowed by the task's current cpuset. +node ids allowed by the process' current cpuset. .PP .I nodemask points to a bit mask of node IDs that contains up to @@ -132,7 +132,7 @@ argument is ignored. Where a .I nodemask is required, it must contain at least one node that is on-line, -allowed by the task's current cpuset context +allowed by the process' current cpuset context [unless the .B MPOL_F_STATIC_NODES mode flag is specified], @@ -152,8 +152,10 @@ cpuset context includes one or more of t The .B MPOL_DEFAULT -mode is the default and means to allocate memory locally, -i.e., on the node of the CPU that triggered the allocation. +mode specifies that any non-default process memory policy be removed +and "fall back" to the system default policy. +The system default policy is "local allocation"-- +i.e., allocate memory on the node of the CPU that triggered the allocation. .I nodemask must be specified as NULL. If the "local node" contains no free memory, the system will @@ -203,9 +205,8 @@ If the .I nodemask and .I maxnode -arguments specify the empty set, then the memory is allocated on -the node of the CPU that triggered the allocation (like -.BR MPOL_DEFAULT ). +arguments specify the empty set, then the policy specifies +explicit local allocation. The process memory policy is preserved across an .BR execve (2), -- To unsubscribe from this list: send the line "unsubscribe linux-numa" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html