On Sat, Jan 25, 2014 at 07:12:35PM -0800, David Rientjes wrote: > As a result of commit 5606e3877ad8 ("mm: numa: Migrate on reference > policy"), /proc/<pid>/numa_maps prints the mempolicy for any <pid> as > "prefer:N" for the local node, N, of the process reading the file. > > This should only be printed when the mempolicy of <pid> is MPOL_PREFERRED > for node N. > > If the process is actually only using the default mempolicy for local node > allocation, make sure "default" is printed as expected. > > Reported-by: Robert Lippert <rlippert@xxxxxxxxxx> > Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Hmm, it is using a preferred policy but I see your point as expectations of an application parsing numa_maps have been broken. The patch makes non-obvious assumptions about how and when MPOL_F_MORON gets set which could change in the future and be missed. Use this instead? It might need to be changed again if there is a need to control whether automatic numa balancing can be enabled or disabled on a per-process basis. diff --git a/mm/mempolicy.c b/mm/mempolicy.c index c2ccec0..c1a2573 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -120,6 +120,14 @@ static struct mempolicy default_policy = { static struct mempolicy preferred_node_policy[MAX_NUMNODES]; +/* Returns true if the policy is the default policy */ +static bool mpol_is_default(struct mempolicy *pol) +{ + return !pol || + pol == &default_policy || + pol == &preferred_node_policy[numa_node_id()]; +} + static struct mempolicy *get_task_policy(struct task_struct *p) { struct mempolicy *pol = p->mempolicy; @@ -2856,7 +2864,7 @@ void mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol) unsigned short mode = MPOL_DEFAULT; unsigned short flags = 0; - if (pol && pol != &default_policy) { + if (!mpol_is_default(pol)) { mode = pol->mode; flags = pol->flags; } -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>