Re: [PATCH 2/3] mm/vmscan: move RECLAIM* bits to uapi header
On Wed, 1 Jul 2020, Dave Hansen wrote: > > From: Dave Hansen > > 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 > Cc: Ben Widawsky > Cc: Alex Shi > Cc: Daniel Wagner > Cc: "Tobin C. Harding" > Cc: Christoph Lameter > Cc: Andrew Morton > Cc: Huang Ying > Cc: Dan Williams > Cc: Qian Cai > Cc: Daniel Wagner Acked-by: David Rientjes
Re: [PATCH 2/3] mm/vmscan: move RECLAIM* bits to uapi header
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.
Re: [PATCH 2/3] mm/vmscan: move RECLAIM* bits to uapi header
On 20-07-01 08:26:24, Dave Hansen wrote: > > From: Dave Hansen > > 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 > Cc: Ben Widawsky > Cc: Alex Shi > Cc: Daniel Wagner > Cc: "Tobin C. Harding" > Cc: Christoph Lameter > Cc: Andrew Morton > Cc: Huang Ying > Cc: Dan Williams > Cc: Qian Cai > Cc: Daniel Wagner > > -- > > 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. > _
[PATCH 2/3] mm/vmscan: move RECLAIM* bits to uapi header
From: Dave Hansen 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 Cc: Ben Widawsky Cc: Alex Shi Cc: Daniel Wagner Cc: "Tobin C. Harding" Cc: Christoph Lameter Cc: Andrew Morton Cc: Huang Ying Cc: Dan Williams Cc: Qian Cai Cc: Daniel Wagner -- 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.h2020-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. _