Re: [patch -mm 2/2] mempolicy: use default_policy mode instead ofMPOL_DEFAULT

From: Lee Schermerhorn
Date: Mon Mar 10 2008 - 09:48:39 EST


On Sun, 2008-03-09 at 00:19 +0100, Andi Kleen wrote:
> > Using MPOL_DEFAULT purely for falling back to the task or system-wide
> > policy, however, seems confusing. The semantics seem to indicate that
> > MPOL_DEFAULT represents the system-wide default policy without any
> > preferred node or set of nodes to bind or interleave. So if a VMA has a
> > policy of MPOL_DEFAULT then, to me, it seems like that indicates the
> > absence of a specific policy, not a mandate to fallback to the task
> > policy.
>
> I designed MPOL_DEFAULT on vma originally to be a fallback to the task policy.
>
> Absence of specific policy would be MPOL_PREFERRED with -1 node.

Not sure what you mean here, Andi.

"MPOL_PREFERRED with -1 node" == "local allocation", right?

Whereas, in the task mempolicy or vma policy or shared policy, the lack
of a specific policy--i.e., a null mempolicy pointer, or no policy at
that offset in a shared policy rbtree--means fall back to surrounding
context, right? As far back as I've looked, mempolicy.c implemented
MPOL_DEFAULT, passed to set_mempolicy() or mbind(), by deleting the
target policy, resulting in "fall back".

The only place that MPOL_DEFAULT actually occurs in a struct mempolicy
is in the system default policy. I think we can simplify the code and
documentation--not have to explain the context dependent meaning of
MPOL_DEFAULT--by making it simply an API request to remove the target
policy and establish "default behavior" for that context--i.e.,
fallback.

Lee
>
> -Andi
>
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/