All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mm/mempolicy.c: forbid static or relative flags for local NUMA mode
@ 2016-09-18 11:29 ` Piotr Kwapulinski
  0 siblings, 0 replies; 54+ messages in thread
From: Piotr Kwapulinski @ 2016-09-18 11:29 UTC (permalink / raw)
  To: akpm
  Cc: kirill.shutemov, vbabka, rientjes, mhocko, mgorman,
	liangchen.linux, nzimmer, linux-mm, linux-kernel,
	kwapulinski.piotr

The MPOL_F_STATIC_NODES and MPOL_F_RELATIVE_NODES flags are irrelevant
when setting them for MPOL_LOCAL NUMA memory policy via set_mempolicy.
Return the "invalid argument" from set_mempolicy whenever
any of these flags is passed along with MPOL_LOCAL.
It is consistent with MPOL_PREFERRED passed with empty nodemask.
It also slightly shortens the execution time in paths where these flags
are used e.g. when trying to rebind the NUMA nodes for changes in
cgroups cpuset mems (mpol_rebind_preferred()) or when just printing
the mempolicy structure (/proc/PID/numa_maps).
Isolated tests done.

Signed-off-by: Piotr Kwapulinski <kwapulinski.piotr@gmail.com>
---
 mm/mempolicy.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 2da72a5..27b07d1 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -276,7 +276,9 @@ static struct mempolicy *mpol_new(unsigned short mode, unsigned short flags,
 				return ERR_PTR(-EINVAL);
 		}
 	} else if (mode == MPOL_LOCAL) {
-		if (!nodes_empty(*nodes))
+		if (!nodes_empty(*nodes) ||
+		    (flags & MPOL_F_STATIC_NODES) ||
+		    (flags & MPOL_F_RELATIVE_NODES))
 			return ERR_PTR(-EINVAL);
 		mode = MPOL_PREFERRED;
 	} else if (nodes_empty(*nodes))
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 54+ messages in thread

end of thread, other threads:[~2016-11-01  0:21 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-18 11:29 [PATCH] mm/mempolicy.c: forbid static or relative flags for local NUMA mode Piotr Kwapulinski
2016-09-18 11:29 ` Piotr Kwapulinski
2016-09-19 11:52 ` Michal Hocko
2016-09-19 11:52   ` Michal Hocko
2016-09-20 15:47   ` Piotr Kwapulinski
2016-09-20 15:47     ` Piotr Kwapulinski
2016-09-20  0:57 ` David Rientjes
2016-09-20  0:57   ` David Rientjes
2016-09-20 15:56   ` Piotr Kwapulinski
2016-09-20 15:56     ` Piotr Kwapulinski
2016-09-20 20:05     ` David Rientjes
2016-09-20 20:05       ` David Rientjes
2016-09-27 13:19       ` [PATCH 0/1] man/set_mempolicy.2,mbind.2: add MPOL_LOCAL NUMA memory policy documentation Piotr Kwapulinski
2016-09-27 13:19         ` Piotr Kwapulinski
2016-10-04  8:36         ` Christoph Lameter
2016-10-04  8:36           ` Christoph Lameter
2016-10-04  8:36           ` Christoph Lameter
2016-10-09 18:56           ` [PATCH v2 " Piotr Kwapulinski
2016-10-09 18:56             ` Piotr Kwapulinski
2016-10-09 18:56             ` Piotr Kwapulinski
2016-10-10 13:55             ` Christoph Lameter
2016-10-10 13:55               ` Christoph Lameter
2016-10-10 16:23               ` [PATCH v3 " Piotr Kwapulinski
2016-10-10 16:23                 ` Piotr Kwapulinski
2016-10-12  7:55                 ` Michael Kerrisk (man-pages)
2016-10-12  7:55                   ` Michael Kerrisk (man-pages)
2016-10-12 14:08                   ` Christoph Lameter
2016-10-12 14:08                     ` Christoph Lameter
2016-10-12 14:35                     ` Michael Kerrisk (man-pages)
2016-10-12 14:35                       ` Michael Kerrisk (man-pages)
2016-10-12 15:53                   ` Piotr Kwapulinski
2016-10-12 15:53                     ` Piotr Kwapulinski
2016-10-12 19:55                     ` Christoph Lameter
2016-10-12 19:55                       ` Christoph Lameter
2016-10-13  6:48                       ` Michael Kerrisk (man-pages)
2016-10-13  6:48                         ` Michael Kerrisk (man-pages)
2016-09-27 13:22       ` [PATCH 1/1] mm/mempolicy.c: " Piotr Kwapulinski
2016-09-27 13:22         ` Piotr Kwapulinski
2016-09-27 13:22         ` Piotr Kwapulinski
2016-09-27 13:25       ` [PATCH v2 0/1] mm/mempolicy.c: forbid static or relative flags for local NUMA mode Piotr Kwapulinski
2016-09-27 13:25         ` Piotr Kwapulinski
2016-10-27 16:30         ` [PATCH v3 " Piotr Kwapulinski
2016-10-27 16:30           ` Piotr Kwapulinski
2016-11-01  0:21           ` David Rientjes
2016-11-01  0:21             ` David Rientjes
2016-11-01  0:21             ` David Rientjes
2016-09-27 13:27       ` [PATCH 1/1] man/set_mempolicy.2,mbind.2: " Piotr Kwapulinski
2016-09-27 13:27         ` Piotr Kwapulinski
2016-09-27 13:27         ` Piotr Kwapulinski
2016-09-20 15:12 ` [PATCH] mm/mempolicy.c: " Vlastimil Babka
2016-09-20 15:12   ` Vlastimil Babka
2016-09-20 15:12   ` Vlastimil Babka
2016-09-20 16:23   ` Piotr Kwapulinski
2016-09-20 16:23     ` Piotr Kwapulinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.