2015-08-28 18:43:03

by Eric B Munson

[permalink] [raw]
Subject: [PATCH] mremap.2: Add note about mremap with locked areas

When mremap() is used to move or expand a mapping that is locked with
mlock() or equivalent it will attempt to populate the new area.
However, like mmap(MAP_LOCKED), mremap() will not fail if the area
cannot be populated. Also like mmap(MAP_LOCKED) this might come as a
surprise to users and should be noted.

Signed-off-by: Eric B Munson <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: David Rientjes <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
man2/mremap.2 | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/man2/mremap.2 b/man2/mremap.2
index 071adb5..cf884e6 100644
--- a/man2/mremap.2
+++ b/man2/mremap.2
@@ -196,6 +196,17 @@ and the prototype for
did not allow for the
.I new_address
argument.
+
+If
+.BR mremap ()
+is used to move or expand an area locked with
+.BR mlock (2)
+or equivalent, the
+.BR mremap ()
+call will make a best effort to populate the new area but will not fail
+with
+.B ENOMEM
+if the area cannot be populated.
.SH SEE ALSO
.BR brk (2),
.BR getpagesize (2),
--
1.9.1


2015-08-31 09:14:08

by Michal Hocko

[permalink] [raw]
Subject: Re: [PATCH] mremap.2: Add note about mremap with locked areas

On Fri 28-08-15 14:42:52, Eric B Munson wrote:
> When mremap() is used to move or expand a mapping that is locked with
> mlock() or equivalent it will attempt to populate the new area.
> However, like mmap(MAP_LOCKED), mremap() will not fail if the area
> cannot be populated. Also like mmap(MAP_LOCKED) this might come as a
> surprise to users and should be noted.
>
> Signed-off-by: Eric B Munson <[email protected]>
> Cc: Michal Hocko <[email protected]>

Acked-by: Michal Hocko <[email protected]>

Thank you for following on this.

> Cc: David Rientjes <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
> man2/mremap.2 | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/man2/mremap.2 b/man2/mremap.2
> index 071adb5..cf884e6 100644
> --- a/man2/mremap.2
> +++ b/man2/mremap.2
> @@ -196,6 +196,17 @@ and the prototype for
> did not allow for the
> .I new_address
> argument.
> +
> +If
> +.BR mremap ()
> +is used to move or expand an area locked with
> +.BR mlock (2)
> +or equivalent, the
> +.BR mremap ()
> +call will make a best effort to populate the new area but will not fail
> +with
> +.B ENOMEM
> +if the area cannot be populated.
> .SH SEE ALSO
> .BR brk (2),
> .BR getpagesize (2),
> --
> 1.9.1

--
Michal Hocko
SUSE Labs