Message ID | 20201028023411.15045-2-ying.huang@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | autonuma: Migrate on fault among multiple bound nodes | expand |
On Wed 28-10-20 10:34:10, Huang Ying wrote: > To follow code-of-conduct better. This is changing a user visible interface and any userspace which refers to the existing name will fail to compile unless I am missing something. Have you checked how many applications would be affected? Btw I find "follow CoC better" a very weak argument without further explanation. > Signed-off-by: "Huang, Ying" <ying.huang@intel.com> > Suggested-by: "Matthew Wilcox (Oracle)" <willy@infradead.org> > Acked-by: Rafael Aquini <aquini@redhat.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Mel Gorman <mgorman@suse.de> > Cc: Rik van Riel <riel@redhat.com> > Cc: Johannes Weiner <hannes@cmpxchg.org> > Cc: Dave Hansen <dave.hansen@intel.com> > Cc: Andi Kleen <ak@linux.intel.com> > Cc: Michal Hocko <mhocko@suse.com> > Cc: David Rientjes <rientjes@google.com> > Cc: Rafael Aquini <aquini@redhat.com> > --- > include/uapi/linux/mempolicy.h | 2 +- > kernel/sched/debug.c | 2 +- > mm/mempolicy.c | 6 +++--- > 3 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/include/uapi/linux/mempolicy.h b/include/uapi/linux/mempolicy.h > index 3354774af61e..3c3666d017e6 100644 > --- a/include/uapi/linux/mempolicy.h > +++ b/include/uapi/linux/mempolicy.h > @@ -60,7 +60,7 @@ enum { > #define MPOL_F_SHARED (1 << 0) /* identify shared policies */ > #define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */ > #define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */ > -#define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */ > +#define MPOL_F_MOPRON (1 << 4) /* Migrate On Protnone Reference On Node */ > > > #endif /* _UAPI_LINUX_MEMPOLICY_H */ > diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c > index 0655524700d2..8bfb6adb3f31 100644 > --- a/kernel/sched/debug.c > +++ b/kernel/sched/debug.c > @@ -898,7 +898,7 @@ static void sched_show_numa(struct task_struct *p, struct seq_file *m) > > task_lock(p); > pol = p->mempolicy; > - if (pol && !(pol->flags & MPOL_F_MORON)) > + if (pol && !(pol->flags & MPOL_F_MOPRON)) > pol = NULL; > mpol_get(pol); > task_unlock(p); > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index 3fde772ef5ef..f6948b659643 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -2511,7 +2511,7 @@ int mpol_misplaced(struct page *page, struct vm_area_struct *vma, unsigned long > } > > /* Migrate the page towards the node whose CPU is referencing it */ > - if (pol->flags & MPOL_F_MORON) { > + if (pol->flags & MPOL_F_MOPRON) { > polnid = thisnid; > > if (!should_numa_migrate_memory(current, page, curnid, thiscpu)) > @@ -2802,7 +2802,7 @@ void __init numa_policy_init(void) > preferred_node_policy[nid] = (struct mempolicy) { > .refcnt = ATOMIC_INIT(1), > .mode = MPOL_PREFERRED, > - .flags = MPOL_F_MOF | MPOL_F_MORON, > + .flags = MPOL_F_MOF | MPOL_F_MOPRON, > .v = { .preferred_node = nid, }, > }; > } > @@ -3010,7 +3010,7 @@ void mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol) > unsigned short mode = MPOL_DEFAULT; > unsigned short flags = 0; > > - if (pol && pol != &default_policy && !(pol->flags & MPOL_F_MORON)) { > + if (pol && pol != &default_policy && !(pol->flags & MPOL_F_MOPRON)) { > mode = pol->mode; > flags = pol->flags; > } > -- > 2.28.0 >
Michal Hocko <mhocko@suse.com> writes: > On Wed 28-10-20 10:34:10, Huang Ying wrote: >> To follow code-of-conduct better. > > This is changing a user visible interface and any userspace which refers > to the existing name will fail to compile unless I am missing something. Although these flags are put in uapi, I found these flags are actually internal flags used in "flags" field of struct mempolicy, they are never used as flags for any user space API. I guess they are placed in uapi header file to guarantee they aren't conflict with MPOL_MODE_FLAGS. > Have you checked how many applications would be affected? Based on above analysis, I think there is no application that will be affected. > Btw I find "follow CoC better" a very weak argument without further > explanation. That is the only reason for the patch. If nobody thinks the change is necessary, I can just drop the patch. Best Regards, Huang, Ying >> Signed-off-by: "Huang, Ying" <ying.huang@intel.com> >> Suggested-by: "Matthew Wilcox (Oracle)" <willy@infradead.org> >> Acked-by: Rafael Aquini <aquini@redhat.com> >> Cc: Andrew Morton <akpm@linux-foundation.org> >> Cc: Ingo Molnar <mingo@redhat.com> >> Cc: Mel Gorman <mgorman@suse.de> >> Cc: Rik van Riel <riel@redhat.com> >> Cc: Johannes Weiner <hannes@cmpxchg.org> >> Cc: Dave Hansen <dave.hansen@intel.com> >> Cc: Andi Kleen <ak@linux.intel.com> >> Cc: Michal Hocko <mhocko@suse.com> >> Cc: David Rientjes <rientjes@google.com> >> Cc: Rafael Aquini <aquini@redhat.com> >> --- >> include/uapi/linux/mempolicy.h | 2 +- >> kernel/sched/debug.c | 2 +- >> mm/mempolicy.c | 6 +++--- >> 3 files changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/include/uapi/linux/mempolicy.h b/include/uapi/linux/mempolicy.h >> index 3354774af61e..3c3666d017e6 100644 >> --- a/include/uapi/linux/mempolicy.h >> +++ b/include/uapi/linux/mempolicy.h >> @@ -60,7 +60,7 @@ enum { >> #define MPOL_F_SHARED (1 << 0) /* identify shared policies */ >> #define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */ >> #define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */ >> -#define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */ >> +#define MPOL_F_MOPRON (1 << 4) /* Migrate On Protnone Reference On Node */ >> >> >> #endif /* _UAPI_LINUX_MEMPOLICY_H */ >> diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c >> index 0655524700d2..8bfb6adb3f31 100644 >> --- a/kernel/sched/debug.c >> +++ b/kernel/sched/debug.c >> @@ -898,7 +898,7 @@ static void sched_show_numa(struct task_struct *p, struct seq_file *m) >> >> task_lock(p); >> pol = p->mempolicy; >> - if (pol && !(pol->flags & MPOL_F_MORON)) >> + if (pol && !(pol->flags & MPOL_F_MOPRON)) >> pol = NULL; >> mpol_get(pol); >> task_unlock(p); >> diff --git a/mm/mempolicy.c b/mm/mempolicy.c >> index 3fde772ef5ef..f6948b659643 100644 >> --- a/mm/mempolicy.c >> +++ b/mm/mempolicy.c >> @@ -2511,7 +2511,7 @@ int mpol_misplaced(struct page *page, struct vm_area_struct *vma, unsigned long >> } >> >> /* Migrate the page towards the node whose CPU is referencing it */ >> - if (pol->flags & MPOL_F_MORON) { >> + if (pol->flags & MPOL_F_MOPRON) { >> polnid = thisnid; >> >> if (!should_numa_migrate_memory(current, page, curnid, thiscpu)) >> @@ -2802,7 +2802,7 @@ void __init numa_policy_init(void) >> preferred_node_policy[nid] = (struct mempolicy) { >> .refcnt = ATOMIC_INIT(1), >> .mode = MPOL_PREFERRED, >> - .flags = MPOL_F_MOF | MPOL_F_MORON, >> + .flags = MPOL_F_MOF | MPOL_F_MOPRON, >> .v = { .preferred_node = nid, }, >> }; >> } >> @@ -3010,7 +3010,7 @@ void mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol) >> unsigned short mode = MPOL_DEFAULT; >> unsigned short flags = 0; >> >> - if (pol && pol != &default_policy && !(pol->flags & MPOL_F_MORON)) { >> + if (pol && pol != &default_policy && !(pol->flags & MPOL_F_MOPRON)) { >> mode = pol->mode; >> flags = pol->flags; >> } >> -- >> 2.28.0 >>
On Fri 30-10-20 15:27:51, Huang, Ying wrote: > Michal Hocko <mhocko@suse.com> writes: > > > On Wed 28-10-20 10:34:10, Huang Ying wrote: > >> To follow code-of-conduct better. > > > > This is changing a user visible interface and any userspace which refers > > to the existing name will fail to compile unless I am missing something. > > Although these flags are put in uapi, I found these flags are actually > internal flags used in "flags" field of struct mempolicy, they are never > used as flags for any user space API. I guess they are placed in uapi > header file to guarantee they aren't conflict with MPOL_MODE_FLAGS. You are right. I have missed that. The comment in the header even explains that. Anyway the placement is rather unusual and I think that those flags do not belong there. > > Have you checked how many applications would be affected? > > Based on above analysis, I think there is no application that will be > affected. > > > Btw I find "follow CoC better" a very weak argument without further > > explanation. > > That is the only reason for the patch. If nobody thinks the change is > necessary, I can just drop the patch. Well, to be honest I do not see any problem with the naming.
Michal Hocko <mhocko@suse.com> writes: > On Fri 30-10-20 15:27:51, Huang, Ying wrote: >> Michal Hocko <mhocko@suse.com> writes: >> >> > On Wed 28-10-20 10:34:10, Huang Ying wrote: >> >> To follow code-of-conduct better. >> > >> > This is changing a user visible interface and any userspace which refers >> > to the existing name will fail to compile unless I am missing something. >> >> Although these flags are put in uapi, I found these flags are actually >> internal flags used in "flags" field of struct mempolicy, they are never >> used as flags for any user space API. I guess they are placed in uapi >> header file to guarantee they aren't conflict with MPOL_MODE_FLAGS. > > You are right. I have missed that. The comment in the header even explains > that. Anyway the placement is rather unusual and I think that those > flags do not belong there. > >> > Have you checked how many applications would be affected? >> >> Based on above analysis, I think there is no application that will be >> affected. >> >> > Btw I find "follow CoC better" a very weak argument without further >> > explanation. >> >> That is the only reason for the patch. If nobody thinks the change is >> necessary, I can just drop the patch. > > Well, to be honest I do not see any problem with the naming. This is a capitalized words and prefixed, so most people think it's OK. And in PATCH 2/2, there's a newly added label, mopron: Which may become moron: some people think that we'd better to change it. And to make the wording consistent, the constant is changed too. Best Regards, Huang, Ying
diff --git a/include/uapi/linux/mempolicy.h b/include/uapi/linux/mempolicy.h index 3354774af61e..3c3666d017e6 100644 --- a/include/uapi/linux/mempolicy.h +++ b/include/uapi/linux/mempolicy.h @@ -60,7 +60,7 @@ enum { #define MPOL_F_SHARED (1 << 0) /* identify shared policies */ #define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */ #define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */ -#define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */ +#define MPOL_F_MOPRON (1 << 4) /* Migrate On Protnone Reference On Node */ #endif /* _UAPI_LINUX_MEMPOLICY_H */ diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index 0655524700d2..8bfb6adb3f31 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c @@ -898,7 +898,7 @@ static void sched_show_numa(struct task_struct *p, struct seq_file *m) task_lock(p); pol = p->mempolicy; - if (pol && !(pol->flags & MPOL_F_MORON)) + if (pol && !(pol->flags & MPOL_F_MOPRON)) pol = NULL; mpol_get(pol); task_unlock(p); diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 3fde772ef5ef..f6948b659643 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -2511,7 +2511,7 @@ int mpol_misplaced(struct page *page, struct vm_area_struct *vma, unsigned long } /* Migrate the page towards the node whose CPU is referencing it */ - if (pol->flags & MPOL_F_MORON) { + if (pol->flags & MPOL_F_MOPRON) { polnid = thisnid; if (!should_numa_migrate_memory(current, page, curnid, thiscpu)) @@ -2802,7 +2802,7 @@ void __init numa_policy_init(void) preferred_node_policy[nid] = (struct mempolicy) { .refcnt = ATOMIC_INIT(1), .mode = MPOL_PREFERRED, - .flags = MPOL_F_MOF | MPOL_F_MORON, + .flags = MPOL_F_MOF | MPOL_F_MOPRON, .v = { .preferred_node = nid, }, }; } @@ -3010,7 +3010,7 @@ void mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol) unsigned short mode = MPOL_DEFAULT; unsigned short flags = 0; - if (pol && pol != &default_policy && !(pol->flags & MPOL_F_MORON)) { + if (pol && pol != &default_policy && !(pol->flags & MPOL_F_MOPRON)) { mode = pol->mode; flags = pol->flags; }