In Linux kernel 5.12, a new mode flag MPOL_F_NUMA_BALANCING is added to set_mempolicy() to optimize the page placement among the NUMA nodes with the NUMA balancing mechanism even if the memory of the applications are bound with MPOL_BIND. This patch update the man page for the new mode flag. Related kernel commits: bda420b985054a3badafef23807c4b4fa38a3dff Signed-off-by: "Huang, Ying" <ying.huang@xxxxxxxxx> Cc: "Alejandro Colomar" <alx.manpages@xxxxxxxxx> Cc: "Michael Kerrisk" <mtk.manpages@xxxxxxxxx> --- man2/set_mempolicy.2 | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/man2/set_mempolicy.2 b/man2/set_mempolicy.2 index 6e695fb13..cd543667f 100644 --- a/man2/set_mempolicy.2 +++ b/man2/set_mempolicy.2 @@ -98,6 +98,28 @@ The supported .I "mode flags" are: .TP +.BR MPOL_F_NUMA_BALANCING " (since Linux 5.12)" +When +.I mode +is +.BR MPOL_BIND , +enable the kernel NUMA balancing for the task if it is supported by +the kernel. +If the flag isn't supported by the kernel, or is used with +.I mode +other than +.BR MPOL_BIND , +\-1 is returned and +.I errno +is set to +.BR EINVAL . +.TP +.BR MPOL_F_RELATIVE_NODES " (since Linux 2.6.26)" +A nonempty +.I nodemask +specifies node IDs that are relative to the set of +node IDs allowed by the process's current cpuset. +.TP .BR MPOL_F_STATIC_NODES " (since Linux 2.6.26)" A nonempty .I nodemask @@ -107,12 +129,6 @@ Linux will not remap the when the process moves to a different cpuset context, nor when the set of nodes allowed by the process's current cpuset context changes. -.TP -.BR MPOL_F_RELATIVE_NODES " (since Linux 2.6.26)" -A nonempty -.I nodemask -specifies node IDs that are relative to the set of -node IDs allowed by the process's current cpuset. .PP .I nodemask points to a bit mask of node IDs that contains up to @@ -293,6 +309,12 @@ argument specified both .B MPOL_F_STATIC_NODES and .BR MPOL_F_RELATIVE_NODES . +Or, the +.B MPOL_F_NUMA_BALANCING +isn't supported by the kernel, or is used with +.I mode +other than +.BR MPOL_BIND . .TP .B ENOMEM Insufficient kernel memory was available. -- 2.30.1