On Fri, 30 Oct 2015, Minchan Kim wrote:
> From: Chen Gang <gang.chen.5...@gmail.com>
> 
> For uapi, need try to let all macros have same value, and MADV_FREE is
> added into main branch recently, so need redefine MADV_FREE for it.
> 
> At present, '8' can be shared with all architectures, so redefine it to
> '8'.
> 
> Cc: r...@twiddle.net <r...@twiddle.net>,
> Cc: i...@jurassic.park.msu.ru <i...@jurassic.park.msu.ru>
> Cc: matts...@gmail.com <matts...@gmail.com>
> Cc: Ralf Baechle <r...@linux-mips.org>
> Cc: j...@parisc-linux.org <j...@parisc-linux.org>
> Cc: del...@gmx.de <del...@gmx.de>
> Cc: ch...@zankel.net <ch...@zankel.net>
> Cc: jcmvb...@gmail.com <jcmvb...@gmail.com>
> Cc: Arnd Bergmann <a...@arndb.de>
> Cc: linux-a...@vger.kernel.org
> Cc: linux-api@vger.kernel.org
> Acked-by: Minchan Kim <minc...@kernel.org>
> Signed-off-by: Chen Gang <gang.chen.5...@gmail.com>

Let me add
Acked-by: Hugh Dickins <hu...@google.com>
to this one too.

But I have extended your mail's Cc list: Darrick pointed out earlier
that dietlibc has a Solaris #define MADV_FREE 0x5 in its mman.h,
and that was in the kernel's sparc mman.h up until 2.6.25.  I doubt
that presents any obstacle nowadays, but Dave Miller should be Cc'ed.

I was a little suspicious that 8 is available for MADV_FREE: why did
the common/generic parameters start at 9 instead of 8 back in 2.6.16?
I think the answer is that we had MADV_REMOVE coming in from one
direction, and MADV_DONTFORK coming from another direction, and when
Roland looked for where to start the commons for MADV_DONTFORK, it
appeared that 8 was occupied - by MADV_REMOVE; then a little later
MADV_REMOVE was shifted to become the first of the commons, at 9.

Hugh

> ---
>  arch/alpha/include/uapi/asm/mman.h     | 2 +-
>  arch/mips/include/uapi/asm/mman.h      | 2 +-
>  arch/parisc/include/uapi/asm/mman.h    | 2 +-
>  arch/xtensa/include/uapi/asm/mman.h    | 2 +-
>  include/uapi/asm-generic/mman-common.h | 2 +-
>  5 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/alpha/include/uapi/asm/mman.h 
> b/arch/alpha/include/uapi/asm/mman.h
> index 836fbd44f65b..0b8a5de7aee3 100644
> --- a/arch/alpha/include/uapi/asm/mman.h
> +++ b/arch/alpha/include/uapi/asm/mman.h
> @@ -44,9 +44,9 @@
>  #define MADV_WILLNEED        3               /* will need these pages */
>  #define      MADV_SPACEAVAIL 5               /* ensure resources are 
> available */
>  #define MADV_DONTNEED        6               /* don't need these pages */
> -#define MADV_FREE    7               /* free pages only if memory pressure */
>  
>  /* common/generic parameters */
> +#define MADV_FREE    8               /* free pages only if memory pressure */
>  #define MADV_REMOVE  9               /* remove these pages & resources */
>  #define MADV_DONTFORK        10              /* don't inherit across fork */
>  #define MADV_DOFORK  11              /* do inherit across fork */
> diff --git a/arch/mips/include/uapi/asm/mman.h 
> b/arch/mips/include/uapi/asm/mman.h
> index 106e741aa7ee..d247f5457944 100644
> --- a/arch/mips/include/uapi/asm/mman.h
> +++ b/arch/mips/include/uapi/asm/mman.h
> @@ -67,9 +67,9 @@
>  #define MADV_SEQUENTIAL 2            /* expect sequential page references */
>  #define MADV_WILLNEED        3               /* will need these pages */
>  #define MADV_DONTNEED        4               /* don't need these pages */
> -#define MADV_FREE    5               /* free pages only if memory pressure */
>  
>  /* common parameters: try to keep these consistent across architectures */
> +#define MADV_FREE    8               /* free pages only if memory pressure */
>  #define MADV_REMOVE  9               /* remove these pages & resources */
>  #define MADV_DONTFORK        10              /* don't inherit across fork */
>  #define MADV_DOFORK  11              /* do inherit across fork */
> diff --git a/arch/parisc/include/uapi/asm/mman.h 
> b/arch/parisc/include/uapi/asm/mman.h
> index 6cb8db76fd4e..700d83fd9352 100644
> --- a/arch/parisc/include/uapi/asm/mman.h
> +++ b/arch/parisc/include/uapi/asm/mman.h
> @@ -40,9 +40,9 @@
>  #define MADV_SPACEAVAIL 5               /* insure that resources are 
> reserved */
>  #define MADV_VPS_PURGE  6               /* Purge pages from VM page cache */
>  #define MADV_VPS_INHERIT 7              /* Inherit parents page size */
> -#define MADV_FREE    8               /* free pages only if memory pressure */
>  
>  /* common/generic parameters */
> +#define MADV_FREE    8               /* free pages only if memory pressure */
>  #define MADV_REMOVE  9               /* remove these pages & resources */
>  #define MADV_DONTFORK        10              /* don't inherit across fork */
>  #define MADV_DOFORK  11              /* do inherit across fork */
> diff --git a/arch/xtensa/include/uapi/asm/mman.h 
> b/arch/xtensa/include/uapi/asm/mman.h
> index 1b19f25bc567..77eaca434071 100644
> --- a/arch/xtensa/include/uapi/asm/mman.h
> +++ b/arch/xtensa/include/uapi/asm/mman.h
> @@ -80,9 +80,9 @@
>  #define MADV_SEQUENTIAL      2               /* expect sequential page 
> references */
>  #define MADV_WILLNEED        3               /* will need these pages */
>  #define MADV_DONTNEED        4               /* don't need these pages */
> -#define MADV_FREE    5               /* free pages only if memory pressure */
>  
>  /* common parameters: try to keep these consistent across architectures */
> +#define MADV_FREE    8               /* free pages only if memory pressure */
>  #define MADV_REMOVE  9               /* remove these pages & resources */
>  #define MADV_DONTFORK        10              /* don't inherit across fork */
>  #define MADV_DOFORK  11              /* do inherit across fork */
> diff --git a/include/uapi/asm-generic/mman-common.h 
> b/include/uapi/asm-generic/mman-common.h
> index 7a94102b7a02..869595947873 100644
> --- a/include/uapi/asm-generic/mman-common.h
> +++ b/include/uapi/asm-generic/mman-common.h
> @@ -34,9 +34,9 @@
>  #define MADV_SEQUENTIAL      2               /* expect sequential page 
> references */
>  #define MADV_WILLNEED        3               /* will need these pages */
>  #define MADV_DONTNEED        4               /* don't need these pages */
> -#define MADV_FREE    5               /* free pages only if memory pressure */
>  
>  /* common parameters: try to keep these consistent across architectures */
> +#define MADV_FREE    8               /* free pages only if memory pressure */
>  #define MADV_REMOVE  9               /* remove these pages & resources */
>  #define MADV_DONTFORK        10              /* don't inherit across fork */
>  #define MADV_DOFORK  11              /* do inherit across fork */
> -- 
> 1.9.1
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to