On Fri, 2015-11-20 at 22:38 +0100, Helge Deller wrote:
> On parisc we have up to now never supported Huge Pages, even glibc did
> not defined MAP_HUGETLB for parisc. Since the Huge Page support is being
> added now, clean up existing definitions for MAP_HUGETLB and friends.
> 
> Drop lots of MADV_xxK_PAGES flags, which were never used and were
> designed for a patch which was never integrated into the Linux
> kernel. Instead move other MADV_ flags to make them more compatible to
> other linux architectures.

Changing the unimplemented values seems fine, but how can it be OK to
renumber MAP_GROWSUP, MADV_DONTDUMP and MADV_DODUMP?

Ben.

> Cc: [email protected]
> Signed-off-by: Helge Deller <[email protected]>
> ---
>  arch/parisc/include/uapi/asm/mman.h | 29 ++++++++++-------------------
>  1 file changed, 10 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/parisc/include/uapi/asm/mman.h 
> b/arch/parisc/include/uapi/asm/mman.h
> index 294d251..9ac77f1 100644
> --- a/arch/parisc/include/uapi/asm/mman.h
> +++ b/arch/parisc/include/uapi/asm/mman.h
> @@ -19,11 +19,12 @@
>  #define MAP_EXECUTABLE>      > 0x1000>       >       > /* mark it as an 
> executable */
>  #define MAP_LOCKED>  > 0x2000>       >       > /* pages are locked */
>  #define MAP_NORESERVE>       > 0x4000>       >       > /* don't check for 
> reservations */
> -#define MAP_GROWSDOWN>       > 0x8000>       >       > /* stack-like segment 
> */
> +#define MAP_GROWSDOWN>       > 0x8000>       >       > /* x86 stack-like 
> segment */
>  #define MAP_POPULATE>        > 0x10000>      >       > /* populate 
> (prefault) pagetables */
>  #define MAP_NONBLOCK>        > 0x20000>      >       > /* do not block on IO 
> */
> -#define MAP_STACK>   > 0x40000>      >       > /* give out an address that 
> is best suited for process/thread stacks */
> -#define MAP_HUGETLB>         > 0x80000>      >       > /* create a huge page 
> mapping */
> +#define MAP_HUGETLB>         > 0x40000>      >       > /* create a huge page 
> mapping */
> +#define MAP_GROWSUP>         > 0x80000>      >       > /* parisc stack-like 
> segment */
> +#define MAP_STACK>   > MAP_GROWSUP>  > /* give out an address that is best 
> suited for process/thread stacks */
>  
>  #define MS_SYNC>     >       > 1>    >       > /* synchronous memory sync */
>  #define MS_ASYNC>    > 2>    >       > /* sync memory asynchronously */
> @@ -46,25 +47,15 @@
>  #define MADV_DONTFORK>       > 10>   >       > /* don't inherit across fork 
> */
>  #define MADV_DOFORK>         > 11>   >       > /* do inherit across fork */
>  
> -/* The range 12-64 is reserved for page size specification. */
> -#define MADV_4K_PAGES   12              /* Use 4K pages  */
> -#define MADV_16K_PAGES  14              /* Use 16K pages */
> -#define MADV_64K_PAGES  16              /* Use 64K pages */
> -#define MADV_256K_PAGES 18              /* Use 256K pages */
> -#define MADV_1M_PAGES   20              /* Use 1 Megabyte pages */
> -#define MADV_4M_PAGES   22              /* Use 4 Megabyte pages */
> -#define MADV_16M_PAGES  24              /* Use 16 Megabyte pages */
> -#define MADV_64M_PAGES  26              /* Use 64 Megabyte pages */
> +#define MADV_MERGEABLE   12>         >       > /* KSM may merge identical 
> pages */
> +#define MADV_UNMERGEABLE 13>         >       > /* KSM may not merge 
> identical pages */
>  
> -#define MADV_MERGEABLE   65>         >       > /* KSM may merge identical 
> pages */
> -#define MADV_UNMERGEABLE 66>         >       > /* KSM may not merge 
> identical pages */
> +#define MADV_HUGEPAGE>       > 14>   >       > /* Worth backing with 
> hugepages */
> +#define MADV_NOHUGEPAGE>     > 15>   >       > /* Not worth backing with 
> hugepages */
>  
> -#define MADV_HUGEPAGE>       > 67>   >       > /* Worth backing with 
> hugepages */
> -#define MADV_NOHUGEPAGE>     > 68>   >       > /* Not worth backing with 
> hugepages */
> -
> -#define MADV_DONTDUMP   69>  >       > /* Explicity exclude from the core 
> dump,
> +#define MADV_DONTDUMP   16>  >       > /* Explicity exclude from the core 
> dump,
>  >    >       >       >       >       >    overrides the coredump filter bits 
> */
> -#define MADV_DODUMP>         > 70>   >       > /* Clear the MADV_NODUMP flag 
> */
> +#define MADV_DODUMP>         > 17>   >       > /* Clear the MADV_NODUMP flag 
> */
>  
>  /* compatibility flags */
>  #define MAP_FILE>    > 0
-- 
Ben Hutchings
If you seem to know what you are doing, you'll be given more to do.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to