Message ID | 20200701152624.D6FBDDA8@viggo.jf.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Repair and clean up vm.zone_reclaim_mode sysctl ABI | expand |
On 20-07-01 08:26:24, Dave Hansen wrote: > > From: Dave Hansen <dave.hansen@linux.intel.com> > > It is currently not obvious that the RECLAIM_* bits are part of the > uapi since they are defined in vmscan.c. Move them to a uapi header > to make it obvious. > > This should have no functional impact. > > Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> > Cc: Ben Widawsky <ben.widawsky@intel.com> > Cc: Alex Shi <alex.shi@linux.alibaba.com> > Cc: Daniel Wagner <dwagner@suse.de> > Cc: "Tobin C. Harding" <tobin@kernel.org> > Cc: Christoph Lameter <cl@linux.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Huang Ying <ying.huang@intel.com> > Cc: Dan Williams <dan.j.williams@intel.com> > Cc: Qian Cai <cai@lca.pw> > Cc: Daniel Wagner <dwagner@suse.de> > > -- > > Note: This is not cc'd to stable. It does not fix any bugs. > --- > > b/include/uapi/linux/mempolicy.h | 7 +++++++ > b/mm/vmscan.c | 8 -------- > 2 files changed, 7 insertions(+), 8 deletions(-) > > diff -puN include/uapi/linux/mempolicy.h~mm-vmscan-move-RECLAIM-bits-to-uapi include/uapi/linux/mempolicy.h > --- a/include/uapi/linux/mempolicy.h~mm-vmscan-move-RECLAIM-bits-to-uapi 2020-07-01 08:22:12.502955333 -0700 > +++ b/include/uapi/linux/mempolicy.h 2020-07-01 08:22:12.508955333 -0700 > @@ -62,5 +62,12 @@ enum { > #define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */ > #define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */ > > +/* > + * These bit locations are exposed in the vm.zone_reclaim_mode sysctl > + * ABI. New bits are OK, but existing bits can never change. > + */ > +#define RECLAIM_ZONE (1<<0) /* Run shrink_inactive_list on the zone */ > +#define RECLAIM_WRITE (1<<1) /* Writeout pages during reclaim */ > +#define RECLAIM_UNMAP (1<<2) /* Unmap pages during reclaim */ Have you considered turning this into an enum while moving it? > > #endif /* _UAPI_LINUX_MEMPOLICY_H */ > diff -puN mm/vmscan.c~mm-vmscan-move-RECLAIM-bits-to-uapi mm/vmscan.c > --- a/mm/vmscan.c~mm-vmscan-move-RECLAIM-bits-to-uapi 2020-07-01 08:22:12.504955333 -0700 > +++ b/mm/vmscan.c 2020-07-01 08:22:12.509955333 -0700 > @@ -4091,14 +4091,6 @@ module_init(kswapd_init) > int node_reclaim_mode __read_mostly; > > /* > - * These bit locations are exposed in the vm.zone_reclaim_mode sysctl > - * ABI. New bits are OK, but existing bits can never change. > - */ > -#define RECLAIM_ZONE (1<<0) /* Run shrink_inactive_list on the zone */ > -#define RECLAIM_WRITE (1<<1) /* Writeout pages during reclaim */ > -#define RECLAIM_UNMAP (1<<2) /* Unmap pages during reclaim */ > - > -/* > * Priority for NODE_RECLAIM. This determines the fraction of pages > * of a node considered for each zone_reclaim. 4 scans 1/16th of > * a zone. > _
On 7/1/20 8:46 AM, Ben Widawsky wrote: >> +/* >> + * These bit locations are exposed in the vm.zone_reclaim_mode sysctl >> + * ABI. New bits are OK, but existing bits can never change. >> + */ >> +#define RECLAIM_ZONE (1<<0) /* Run shrink_inactive_list on the zone */ >> +#define RECLAIM_WRITE (1<<1) /* Writeout pages during reclaim */ >> +#define RECLAIM_UNMAP (1<<2) /* Unmap pages during reclaim */ > Have you considered turning this into an enum while moving it? The thought occurred to me, but all of the other bits in the uapi file were defined this way. I decided to not not attempt to buck the trend in their new home.
On Wed, 1 Jul 2020, Dave Hansen wrote: > > From: Dave Hansen <dave.hansen@linux.intel.com> > > It is currently not obvious that the RECLAIM_* bits are part of the > uapi since they are defined in vmscan.c. Move them to a uapi header > to make it obvious. > > This should have no functional impact. > > Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> > Cc: Ben Widawsky <ben.widawsky@intel.com> > Cc: Alex Shi <alex.shi@linux.alibaba.com> > Cc: Daniel Wagner <dwagner@suse.de> > Cc: "Tobin C. Harding" <tobin@kernel.org> > Cc: Christoph Lameter <cl@linux.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Huang Ying <ying.huang@intel.com> > Cc: Dan Williams <dan.j.williams@intel.com> > Cc: Qian Cai <cai@lca.pw> > Cc: Daniel Wagner <dwagner@suse.de> Acked-by: David Rientjes <rientjes@google.com>
diff -puN include/uapi/linux/mempolicy.h~mm-vmscan-move-RECLAIM-bits-to-uapi include/uapi/linux/mempolicy.h --- a/include/uapi/linux/mempolicy.h~mm-vmscan-move-RECLAIM-bits-to-uapi 2020-07-01 08:22:12.502955333 -0700 +++ b/include/uapi/linux/mempolicy.h 2020-07-01 08:22:12.508955333 -0700 @@ -62,5 +62,12 @@ enum { #define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */ #define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */ +/* + * These bit locations are exposed in the vm.zone_reclaim_mode sysctl + * ABI. New bits are OK, but existing bits can never change. + */ +#define RECLAIM_ZONE (1<<0) /* Run shrink_inactive_list on the zone */ +#define RECLAIM_WRITE (1<<1) /* Writeout pages during reclaim */ +#define RECLAIM_UNMAP (1<<2) /* Unmap pages during reclaim */ #endif /* _UAPI_LINUX_MEMPOLICY_H */ diff -puN mm/vmscan.c~mm-vmscan-move-RECLAIM-bits-to-uapi mm/vmscan.c --- a/mm/vmscan.c~mm-vmscan-move-RECLAIM-bits-to-uapi 2020-07-01 08:22:12.504955333 -0700 +++ b/mm/vmscan.c 2020-07-01 08:22:12.509955333 -0700 @@ -4091,14 +4091,6 @@ module_init(kswapd_init) int node_reclaim_mode __read_mostly; /* - * These bit locations are exposed in the vm.zone_reclaim_mode sysctl - * ABI. New bits are OK, but existing bits can never change. - */ -#define RECLAIM_ZONE (1<<0) /* Run shrink_inactive_list on the zone */ -#define RECLAIM_WRITE (1<<1) /* Writeout pages during reclaim */ -#define RECLAIM_UNMAP (1<<2) /* Unmap pages during reclaim */ - -/* * Priority for NODE_RECLAIM. This determines the fraction of pages * of a node considered for each zone_reclaim. 4 scans 1/16th of * a zone.