Re: [PATCH 2/3] mm/vmscan: move RECLAIM* bits to uapi header

2020-07-01 Thread David Rientjes
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

2020-07-01 Thread Dave Hansen
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

2020-07-01 Thread Ben Widawsky
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

2020-07-01 Thread Dave Hansen


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.
_