Message ID | 20200619162425.1052382-2-ben.widawsky@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | multiple preferred nodes | expand |
On Fri 19-06-20 09:24:08, Ben Widawsky wrote: > MPOL_LOCAL is a bit weird because it is simply a different name for an > existing behavior (preferred policy with no node mask). It has been this > way since it was added here: > commit 479e2802d09f ("mm: mempolicy: Make MPOL_LOCAL a real policy") > > It is so similar to MPOL_PREFERRED in fact that when the policy is > created in mpol_new, the mode is set as PREFERRED, and an internal state > representing LOCAL doesn't exist. > > To prevent future explorers from scratching their head as to why > MPOL_LOCAL isn't defined in the mpol_ops table, add a small comment > explaining the situations. Agreed. MPOL_LOCAL can be really confusing for whoever looks at the code the first time. > Cc: Christoph Lameter <cl@linux.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: David Rientjes <rientjes@google.com> > Signed-off-by: Ben Widawsky <ben.widawsky@intel.com> Acked-by: Michal Hocko <mhocko@suse.com> > --- > mm/mempolicy.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index 381320671677..36ee3267c25f 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -427,6 +427,7 @@ static const struct mempolicy_operations mpol_ops[MPOL_MAX] = { > .create = mpol_new_bind, > .rebind = mpol_rebind_nodemask, > }, > + /* MPOL_LOCAL is converted to MPOL_PREFERRED on policy creation */ I would just add. See mpol_new() > }; > > static int migrate_page_add(struct page *page, struct list_head *pagelist, > -- > 2.27.0 >
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 381320671677..36ee3267c25f 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -427,6 +427,7 @@ static const struct mempolicy_operations mpol_ops[MPOL_MAX] = { .create = mpol_new_bind, .rebind = mpol_rebind_nodemask, }, + /* MPOL_LOCAL is converted to MPOL_PREFERRED on policy creation */ }; static int migrate_page_add(struct page *page, struct list_head *pagelist,
MPOL_LOCAL is a bit weird because it is simply a different name for an existing behavior (preferred policy with no node mask). It has been this way since it was added here: commit 479e2802d09f ("mm: mempolicy: Make MPOL_LOCAL a real policy") It is so similar to MPOL_PREFERRED in fact that when the policy is created in mpol_new, the mode is set as PREFERRED, and an internal state representing LOCAL doesn't exist. To prevent future explorers from scratching their head as to why MPOL_LOCAL isn't defined in the mpol_ops table, add a small comment explaining the situations. Cc: Christoph Lameter <cl@linux.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: David Rientjes <rientjes@google.com> Signed-off-by: Ben Widawsky <ben.widawsky@intel.com> --- mm/mempolicy.c | 1 + 1 file changed, 1 insertion(+)