Skip to contentSkip to conversation

arch: uapi: asm: mman.h: Let MADV_FREE have same value for all architectures

PATCH In review Chen Gang 6 participants 14 messages Dec 4, 2014 – Oct 28, 2015 3 messages not in the archive

Subsystems (7)
lore
Share & tools
lore

Chen Gang

author
#0 lore raw

PATCH 1/1 arch: uapi: asm: mman.h: Let MADV_FREE have same value for all architectures

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

---
 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(-)
arch/alpha/include/uapi/asm/mman.h +1 -1
index 836fbd4..0b8a5de 100644
@@ -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 */
arch/mips/include/uapi/asm/mman.h +1 -1
index 106e741..d247f54 100644
@@ -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 */
arch/parisc/include/uapi/asm/mman.h +1 -1
index 6cb8db7..700d83f 100644
@@ -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 */
arch/xtensa/include/uapi/asm/mman.h +1 -1
index 1b19f25..77eaca4 100644
@@ -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 */
include/uapi/asm-generic/mman-common.h +1 -1
index 7a94102..8695959 100644
@@ -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 */
Signature · 1 line
1.9.3
#1 lore raw
Quoted 5 lines · Chen Gang

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

Hmmm... you might want to talk to the dietlibc people if you do this:

$ grep -rn MADV_FREE /usr/include/
/usr/include/diet/sys/mman.h:101:#define MADV_FREE      0x5             /* (Solaris) contents can be freed */

Though the sole definition only exists on sparc/powerpc/powerpc64, so who knows...

--D

Quoted 91 lines
---
 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(-)
arch/alpha/include/uapi/asm/mman.h +1 -1
index 836fbd4..0b8a5de 100644
@@ -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 */
arch/mips/include/uapi/asm/mman.h +1 -1
index 106e741..d247f54 100644
@@ -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 */
arch/parisc/include/uapi/asm/mman.h +1 -1
index 6cb8db7..700d83f 100644
@@ -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 */
arch/xtensa/include/uapi/asm/mman.h +1 -1
index 1b19f25..77eaca4 100644
@@ -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 */
include/uapi/asm-generic/mman-common.h +1 -1
index 7a94102..8695959 100644
@@ -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 */
Signature · 5 lines
1.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
author
#2 lore raw
Quoted 7 lines · Darrick J. Wong
Quoted 5 lines · Chen Gang

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

Quoted 8 lines

Hmmm... you might want to talk to the dietlibc people if you do this:

$ grep -rn MADV_FREE /usr/include/
/usr/include/diet/sys/mman.h:101:#define MADV_FREE      0x5             /* (Solaris) contents can be freed */

Though the sole definition only exists on sparc/powerpc/powerpc64, so who knows...

Excuse me, I am not quite familiar about dietlibc. If possible, please help forward this mail to them, and Cc me (if necessary).

Thanks.

Signature · 3 lines
Chen Gang

Open share and attitude like air water and life which God blessed
Acked-by on v1 1/1
#3 lore raw
In reply to Chen Gang
Quoted 7 lines · Chen Gang

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

Hello Chen,

Thanks for looking at this.
Feel free to add my sign.

Signature · 2 lines
Kind regards,
Minchan Kim
author
#4 lore raw
Quoted 10 lines · Minchan Kim
Quoted 7 lines · Chen Gang

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

Quoted 7 lines

Hello Chen,

Thanks for looking at this.
Feel free to add my sign.

OK, thanks.

Originally I sent the same patch like you sent (but later than yours). Geert suggested to use same value for MADV_FREE, and Carlos confirmed it and suggested more things (sorry, I forgot to Cc them in this mail).

Thanks.

Signature · 3 lines
Chen Gang

Open share and attitude like air water and life which God blessed
author
#5 lore raw

Hello Maintainers:

After this patch, our parisc can pass allmodconfig in linux next tree, for me, we can say parisc specific code have no touch for allmodconfig. :-)

But for parisc gcc latest upstream compiler, I found several issues, and I shall try to analyse them and communicate with gcc related members.

And I also want to consult about parisc assembly instructions, I can not find the related reference documents, could you help to have a check (or provide some related information for it)? related contents are below:

parisc support several store instructions: 'stb' (for store byte), 'stw(m)' (for store word), and 'std' (for store double word).

They should be in the same format in binary code, and have neighbour numbers, and 'stw(m)' need be in the middle of 'stb' and 'std'. one sample for the instruction 'inst' (it is 'unsigned int'):

- for ((inst >> 26) != 0x3):

     stb: 0x18, or 0x19,
     stw: 0x1a, stwm: 0x1b,
     std: 0x1c.

- else ((inst >> 26) == 0x3), need check '(inst >> 6) & 0xf':

     stb: 0x08, or 0x09,
     stw: 0x0a,
     std: 0x0b.

it is about my binutils/gdb patch for parisc, gdb want to recognize 'st??' to find the position for saving relate context (registers).

Welcome any suggestions, ideas, and completions.

Thanks.

Quoted 28 lines · Chen Gang
Quoted 10 lines · Minchan Kim
Quoted 7 lines · Chen Gang

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

Quoted 7 lines

Hello Chen,

Thanks for looking at this.
Feel free to add my sign.

OK, thanks.

Originally I sent the same patch like you sent (but later than yours). Geert suggested to use same value for MADV_FREE, and Carlos confirmed it and suggested more things (sorry, I forgot to Cc them in this mail).

Thanks.

Signature · 3 lines
Chen Gang

Open share and attitude like air water and life which God blessed
author
#7 lore raw
Quoted 7 lines · John David Anglin
Quoted 3 lines · Chen Gang

And I also want to consult about parisc assembly instructions, I can not find the related reference documents, could you help to have a check (or provide some related information for it)? related contents are below:

https://parisc.wiki.kernel.org/index.php/Technical_Documentation

OK, thank you very much!!

For me, these information is enough, I checked the related sub link, it has a full description for all related instruction (stb/h, stw, std).

https://parisc.wiki.kernel.org/images-parisc/7/73/Parisc2.0.pdf

For me, my original comments need be improved: need mention about STH, and maybe also need consider about additional related instructions of parisc 2.0 (STDA, STWA, STBY, STDBY).

Thanks.

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
author
#8 lore raw
In reply to Chen Gang
Quoted 2 lines · Chen Gang

Hello Maintainers:

[...]

Quoted 4 lines

But for parisc gcc latest upstream compiler, I found several issues, and I shall try to analyse them and communicate with gcc related members.

Oh, sorry, there is one my configuration issue when cross compiling parisc, after give a correct configuration, most of issues are disapear.

Thanks.

[...]

Quoted 1 line
Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
author
#9 lore raw
In reply to Chen Gang

Hello Andrew:

Could you help check this patch, when you have time. And apply it if possible.

I guess, this patch is a little urgent, since it changes uapi, if wait a little longer, more user mode programs (e.g. libc) may use MADV_FREE as various values.

Thanks.

Quoted 25 lines · Chen Gang
Quoted 10 lines · Minchan Kim
Quoted 7 lines · Chen Gang

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

Quoted 7 lines

Hello Chen,

Thanks for looking at this.
Feel free to add my sign.

OK, thanks.

Originally I sent the same patch like you sent (but later than yours). Geert suggested to use same value for MADV_FREE, and Carlos confirmed it and suggested more things (sorry, I forgot to Cc them in this mail).

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed

A message that is not in the archive (sent off-list or not yet received): [email protected]

#11 lore raw

PATCH 1/1 arch: uapi: asm: mman.h: Let MADV_FREE have same value for all architectures

Hello dietlibc members:

When I sent a Linux kernel patch for uapi, some members suggest me to Cc dietlibc members, so I forward the related mail to dietlibc mailing list.

Please check, and welcome any ideas, suggestions, or completions.

Thanks.

-------- Forwarded Message --------
Subject: [PATCH] arch: uapi: asm: mman.h: Let MADV_FREE have same value for all architectures
Date: Fri, 05 Dec 2014 06:58:29 +0800
From: Chen Gang <[email protected]>
To: akpm-de/[email protected] <akpm-de/[email protected]>, [email protected] <[email protected]>, ink-biIs/[email protected] <ink-biIs/[email protected]>, [email protected] <[email protected]>, Ralf Baechle <ralf-6z/[email protected]>, [email protected] <[email protected]>, [email protected] <[email protected]>, [email protected] <[email protected]>, [email protected] <[email protected]>, Arnd Bergmann <[email protected]>, [email protected]
CC: [email protected] <[email protected]>, [email protected], [email protected]

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

---
 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(-)
arch/alpha/include/uapi/asm/mman.h +1 -1
index 836fbd4..0b8a5de 100644
@@ -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 */
arch/mips/include/uapi/asm/mman.h +1 -1
index 106e741..d247f54 100644
@@ -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 */
arch/parisc/include/uapi/asm/mman.h +1 -1
index 6cb8db7..700d83f 100644
@@ -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 */
arch/xtensa/include/uapi/asm/mman.h +1 -1
index 1b19f25..77eaca4 100644
@@ -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 */
include/uapi/asm-generic/mman-common.h +1 -1
index 7a94102..8695959 100644
@@ -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 */
Signature · 1 line
1.9.3

A message that is not in the archive (sent off-list or not yet received): [email protected]

#13 lore raw

PATCH 1/1 arch: uapi: asm: mman.h: Let MADV_FREE have same value for all architectures

Hello dietlibc members:

When I sent a Linux kernel patch for uapi, some members suggest me to Cc dietlibc members, so I forward the related mail to dietlibc mailing list.

Please check, and welcome any ideas, suggestions, or completions.

Thanks.

-------- Forwarded Message --------
Subject: [PATCH] arch: uapi: asm: mman.h: Let MADV_FREE have same value for all architectures
Date: Fri, 05 Dec 2014 06:58:29 +0800
From: Chen Gang <[email protected]>
To: akpm-de/[email protected] <akpm-de/[email protected]>, [email protected] <[email protected]>, ink-biIs/[email protected] <ink-biIs/[email protected]>, [email protected] <[email protected]>, Ralf Baechle <ralf-6z/[email protected]>, [email protected] <[email protected]>, [email protected] <[email protected]>, [email protected] <[email protected]>, [email protected] <[email protected]>, Arnd Bergmann <[email protected]>, [email protected]
CC: [email protected] <[email protected]>, [email protected], [email protected]

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

---
 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(-)
arch/alpha/include/uapi/asm/mman.h +1 -1
index 836fbd4..0b8a5de 100644
@@ -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 */
arch/mips/include/uapi/asm/mman.h +1 -1
index 106e741..d247f54 100644
@@ -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 */
arch/parisc/include/uapi/asm/mman.h +1 -1
index 6cb8db7..700d83f 100644
@@ -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 */
arch/xtensa/include/uapi/asm/mman.h +1 -1
index 1b19f25..77eaca4 100644
@@ -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 */
include/uapi/asm-generic/mman-common.h +1 -1
index 7a94102..8695959 100644
@@ -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 */
Signature · 1 line
1.9.3
#14 lore raw
In reply to Chen Gang

Hello Chen,

Quoted 5 lines · Chen Gang

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

Recently, I cleaned MADV_FREE patchset up and will send uptodate version to Andrew to replace old implementation in mmotm tree which is not a linus's tree so this change shouldn't break anyting.

When I look at status of this patch, it seems Andrew missed it so I want to include this patch when I respin if you don't mind.

Is it okay for you?

Thanks.

Quoted 87 lines
---
 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(-)
arch/alpha/include/uapi/asm/mman.h +1 -1
index 836fbd4..0b8a5de 100644
@@ -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 */
arch/mips/include/uapi/asm/mman.h +1 -1
index 106e741..d247f54 100644
@@ -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 */
arch/parisc/include/uapi/asm/mman.h +1 -1
index 6cb8db7..700d83f 100644
@@ -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 */
arch/xtensa/include/uapi/asm/mman.h +1 -1
index 1b19f25..77eaca4 100644
@@ -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 */
include/uapi/asm-generic/mman-common.h +1 -1
index 7a94102..8695959 100644
@@ -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 */
Signature · 1 line
1.9.3

A message that is not in the archive (sent off-list or not yet received): [email protected]

#16 lore raw
Quoted 9 lines · Minchan Kim

Hello Chen,

Quoted 5 lines · Chen Gang

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

Quoted 9 lines

Recently, I cleaned MADV_FREE patchset up and will send uptodate version to Andrew to replace old implementation in mmotm tree which is not a linus's tree so this change shouldn't break anyting.

When I look at status of this patch, it seems Andrew missed it so I want to include this patch when I respin if you don't mind.

Is it okay for you?

For me, it is OK. And thank you for your work. :-)

Quoted 82 lines

Thanks.

Quoted 80 lines
---
 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(-)
arch/alpha/include/uapi/asm/mman.h +1 -1
index 836fbd4..0b8a5de 100644
@@ -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 */
arch/mips/include/uapi/asm/mman.h +1 -1
index 106e741..d247f54 100644
@@ -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 */
arch/parisc/include/uapi/asm/mman.h +1 -1
index 6cb8db7..700d83f 100644
@@ -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 */
arch/xtensa/include/uapi/asm/mman.h +1 -1
index 1b19f25..77eaca4 100644
@@ -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 */
include/uapi/asm-generic/mman-common.h +0 -1
index 7a94102..8695959 100644
@@ -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 */
 
Quoted 7 lines
Quoted 7 lines
include/uapi/asm-generic/mman-common.h +1 -1
 /* 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.3

--
Chen Gang

Open, share, and attitude like air, water, and life which God blessed