[lkml]   [2008]   [Mar]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [patch -mm 2/2] mempolicy: use default_policy mode instead of MPOL_DEFAULT
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.,

> -Andi

 \ /
  Last update: 2008-03-10 14:51    [W:0.043 / U:11.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site