Thread (2 messages) 2 messages, 2 authors, 2020-12-03

Re: [PATCH -V6 RESEND 2/3] NOT kernel/man-pages: man2/set_mempolicy.2: Add mode flag MPOL_F_NUMA_BALANCING

flat view

From: Huang, Ying <hidden>
Date: 2020-12-03 01:50:10
Also in: linux-mm, lkml

Mel Gorman [off-list ref] writes:
On Wed, Dec 02, 2020 at 04:42:33PM +0800, Huang Ying wrote:
quoted
Signed-off-by: "Huang, Ying" <redacted>
---
 man2/set_mempolicy.2 | 9 +++++++++
 1 file changed, 9 insertions(+)
diff --git a/man2/set_mempolicy.2 b/man2/set_mempolicy.2
index 68011eecb..3754b3e12 100644
--- a/man2/set_mempolicy.2
+++ b/man2/set_mempolicy.2
@@ -113,6 +113,12 @@ 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_NUMA_BALANCING " (since Linux 5.11)"
+Enable the Linux kernel NUMA balancing for the task if it is supported
+by kernel.
+If the flag isn't supported by Linux kernel, return -1 and errno is
+set to EINVAL.
 .PP
 .I nodemask
 points to a bit mask of node IDs that contains up to
@@ -293,6 +299,9 @@ argument specified both
Should this be expanded more to clarify it applies to MPOL_BIND
specifically?

Maybe the first patch should be expanded more and explictly fail if
MPOL_F_NUMA_BALANCING is used with anything other than MPOL_BIND?
For MPOL_PREFERRED, why could we not use NUMA balancing to migrate pages
to the accessing local node if it is same as the preferred node?  We
have a way to turn off NUMA balancing already, why could we not provide
a way to enable it if that's intended?

Even for MPOL_INTERLEAVE, if the target node is the same as the
accessing local node, can we use NUMA balancing to migrate pages?

So, I prefer to make MPOL_F_NUMA_BALANCING to be

  Optimizing with NUMA balancing if possible, and we may add more
  optimization in the future.

Do you agree?

Best Regards,
Huang, Ying
quoted
 .B MPOL_F_STATIC_NODES
 and
 .BR MPOL_F_RELATIVE_NODES .
+Or, the
+.B MPOL_F_NUMA_BALANCING
+isn't supported by the Linux kernel.
This will be difficult for an app to distinguish but we can't go back in
time and make this ENOSYS :(

The linux-api people might have more guidance but it may go to the
extent of including a small test program in the manual page for a
sequence that tests whether MPOL_F_NUMA_BALANCING works. They might have
a better recommendation on how it should be handled.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help