On Wed, Mar 03, 2021 at 06:20:45PM +0800, Feng Tang wrote: > From: Ben Widawsky <ben.widawsky@xxxxxxxxx> > > 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. > > v2: > Change comment to refer to mpol_new (Michal) > > Link: https://lore.kernel.org/r/20200630212517.308045-2-ben.widawsky@xxxxxxxxx > #Acked-by: Michal Hocko <mhocko@xxxxxxxx> This shouldn't be masked: Acked-by: Michal Hocko <mhocko@xxxxxxxx> I did the mask when sending for internal review, and forgot to restore it, sorry for the noise. Thanks, Feng > Signed-off-by: Ben Widawsky <ben.widawsky@xxxxxxxxx> > Signed-off-by: Feng Tang <feng.tang@xxxxxxxxx> > --- > mm/mempolicy.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index 2c3a865..5730fc1 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] - see mpol_new() */ > }; > > static int migrate_page_add(struct page *page, struct list_head *pagelist, > -- > 2.7.4