On Mon, Jan 27, 2014 at 03:31:32PM -0800, David Rientjes wrote: > On Mon, 27 Jan 2014, Mel Gorman wrote: > > > 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; > > I was trying to avoid doing this because numa_node_id() of process A > reading numa_maps for process B has nothing to do with the policy of the > process A and I thought MPOL_F_MORON's purpose was exactly for what it is > used for today. It works today since you initialize preferred_node_policy > for all nodes, but could this ever change to only be valid for N_MEMORY > node states, for example? > You're right about the numa_node_id() usage, I should have called task_node(p) to read the node it's currently running but that is potentially obscure for different reasons. > I'm not sure what the harm in updating mpol_to_str() would be if > MPOL_F_MORON is to change in the future? It just has to be caught correctly and handled and it's a little non-obvious but ok if I see a patch that modifies how MPOL_F_MORON is used in the future I should remember to check for this. I withdraw my objection for your patch so Acked-by: Mel Gorman <mgorman@xxxxxxx> -- Mel Gorman SUSE Labs -- 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>