From: Piotr Kwapulinski <kwapulinski.piotr@gmail.com> To: akpm@linux-foundation.org Cc: mhocko@suse.com, mtk.manpages@gmail.com, cmetcalf@mellanox.com, arnd@arndb.de, viro@zeniv.linux.org.uk, mszeredi@suse.cz, dave@stgolabs.net, kirill.shutemov@linux.intel.com, vbabka@suse.cz, mingo@kernel.org, dan.j.williams@intel.com, dave.hansen@linux.intel.com, koct9i@gmail.com, hannes@cmpxchg.org, jack@suse.cz, xiexiuqi@huawei.com, iamjoonsoo.kim@lge.com, oleg@redhat.com, gang.chen.5i5j@gmail.com, aarcange@redhat.com, aryabinin@virtuozzo.com, rientjes@google.com, denc716@gmail.com, toshi.kani@hpe.com, ldufour@linux.vnet.ibm.com, kuleshovmail@gmail.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, Piotr Kwapulinski <kwapulinski.piotr@gmail.com> Subject: [PATCH 3/3] man/mremap.2: don't unmap the overlapping VMA(s) Date: Sat, 2 Apr 2016 21:17:34 +0200 [thread overview] Message-ID: <1459624654-7955-4-git-send-email-kwapulinski.piotr@gmail.com> (raw) In-Reply-To: <1459624654-7955-1-git-send-email-kwapulinski.piotr@gmail.com> mremap.2 man page update for MREAP_DONTUNMAP flag of mremap. Signed-off-by: Piotr Kwapulinski <kwapulinski.piotr@gmail.com> --- It should be considered to be merged only in case the patch "[PATCH 2/3] mm/mremap.c: don't unmap the overlapping VMA(s)" is merged. --- man2/mremap.2 | 50 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/man2/mremap.2 b/man2/mremap.2 index e4998a4..978d509 100644 --- a/man2/mremap.2 +++ b/man2/mremap.2 @@ -27,7 +27,7 @@ .\" Update for Linux 1.3.87 and later .\" 2005-10-11 mtk: Added NOTES for MREMAP_FIXED; revised EINVAL text. .\" -.TH MREMAP 2 2015-12-05 "Linux" "Linux Programmer's Manual" +.TH MREMAP 2 2016-04-02 "Linux" "Linux Programmer's Manual" .SH NAME mremap \- remap a virtual memory address .SH SYNOPSIS @@ -104,7 +104,9 @@ accepts a fifth argument, .IR "void\ *new_address" , which specifies a page-aligned address to which the mapping must be moved. -Any previous mapping at the address range specified by +If +.B MREMAP_DONTUNMAP +is not set then any previous mapping at the address range specified by .I new_address and .I new_size @@ -114,6 +116,30 @@ If is specified, then .B MREMAP_MAYMOVE must also be specified. +.TP +.BR MREMAP_DONTUNMAP " (since Linux 4.6)" +This flag is similar to +.B MAP_DONTUNMAP +flag of +.BR mmap (2). +If this flag and +.B MREMAP_FIXED +are set and the memory region specified by +.I new_address +and +.I new_size +overlaps pages of any existing mapping(s), then the +.BR mremap () +will fail with +.BR ENOMEM . +No existing mapping(s) will be discarded. If +.B MREMAP_DONTUNMAP +is specified, then +.B MREMAP_FIXED +must also be specified. + +Note: currently, this flag is not implemented in the glibc wrapper. +Use the numerical value 4, if you want to use it. .PP If the memory segment specified by .I old_address @@ -156,8 +182,9 @@ page aligned; a value other than .B MREMAP_MAYMOVE or .B MREMAP_FIXED -was specified in -.IR flags ; +or +.B MREMAP_DONTUNMAP +was specified in \fIflags\fP; .I new_size was zero; .I new_size @@ -175,13 +202,26 @@ and or .B MREMAP_FIXED was specified without also specifying -.BR MREMAP_MAYMOVE . +.BR MREMAP_MAYMOVE ; +or +.B MREMAP_DONTUNMAP +was specified without also specifying +.BR MREMAP_FIXED . .TP .B ENOMEM The memory area cannot be expanded at the current virtual address, and the .B MREMAP_MAYMOVE flag is not set in \fIflags\fP. Or, there is not enough (virtual) memory available. +Or, both the +.B MREMAP_FIXED +and +.B MREMAP_DONTUNMAP +flags are set and the memory region specified by +.I new_address +and +.I new_size +overlaps pages of any existing mapping(s). .SH CONFORMING TO This call is Linux-specific, and should not be used in programs intended to be portable. -- 2.7.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Piotr Kwapulinski <kwapulinski.piotr@gmail.com> To: akpm@linux-foundation.org Cc: mhocko@suse.com, mtk.manpages@gmail.com, cmetcalf@mellanox.com, arnd@arndb.de, viro@zeniv.linux.org.uk, mszeredi@suse.cz, dave@stgolabs.net, kirill.shutemov@linux.intel.com, vbabka@suse.cz, mingo@kernel.org, dan.j.williams@intel.com, dave.hansen@linux.intel.com, koct9i@gmail.com, hannes@cmpxchg.org, jack@suse.cz, xiexiuqi@huawei.com, iamjoonsoo.kim@lge.com, oleg@redhat.com, gang.chen.5i5j@gmail.com, aarcange@redhat.com, aryabinin@virtuozzo.com, rientjes@google.com, denc716@gmail.com, toshi.kani@hpe.com, ldufour@linux.vnet.ibm.com, kuleshovmail@gmail.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, Piotr Kwapulinski <kwapulinski.piotr@gmail.com> Subject: [PATCH 3/3] man/mremap.2: don't unmap the overlapping VMA(s) Date: Sat, 2 Apr 2016 21:17:34 +0200 [thread overview] Message-ID: <1459624654-7955-4-git-send-email-kwapulinski.piotr@gmail.com> (raw) Message-ID: <20160402191734.ZM8H6KFRY0g3f0Xo-abiJBQ57Ft0QaKvVko7NTxLkb0@z> (raw) In-Reply-To: <1459624654-7955-1-git-send-email-kwapulinski.piotr@gmail.com> mremap.2 man page update for MREAP_DONTUNMAP flag of mremap. Signed-off-by: Piotr Kwapulinski <kwapulinski.piotr@gmail.com> --- It should be considered to be merged only in case the patch "[PATCH 2/3] mm/mremap.c: don't unmap the overlapping VMA(s)" is merged. --- man2/mremap.2 | 50 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/man2/mremap.2 b/man2/mremap.2 index e4998a4..978d509 100644 --- a/man2/mremap.2 +++ b/man2/mremap.2 @@ -27,7 +27,7 @@ .\" Update for Linux 1.3.87 and later .\" 2005-10-11 mtk: Added NOTES for MREMAP_FIXED; revised EINVAL text. .\" -.TH MREMAP 2 2015-12-05 "Linux" "Linux Programmer's Manual" +.TH MREMAP 2 2016-04-02 "Linux" "Linux Programmer's Manual" .SH NAME mremap \- remap a virtual memory address .SH SYNOPSIS @@ -104,7 +104,9 @@ accepts a fifth argument, .IR "void\ *new_address" , which specifies a page-aligned address to which the mapping must be moved. -Any previous mapping at the address range specified by +If +.B MREMAP_DONTUNMAP +is not set then any previous mapping at the address range specified by .I new_address and .I new_size @@ -114,6 +116,30 @@ If is specified, then .B MREMAP_MAYMOVE must also be specified. +.TP +.BR MREMAP_DONTUNMAP " (since Linux 4.6)" +This flag is similar to +.B MAP_DONTUNMAP +flag of +.BR mmap (2). +If this flag and +.B MREMAP_FIXED +are set and the memory region specified by +.I new_address +and +.I new_size +overlaps pages of any existing mapping(s), then the +.BR mremap () +will fail with +.BR ENOMEM . +No existing mapping(s) will be discarded. If +.B MREMAP_DONTUNMAP +is specified, then +.B MREMAP_FIXED +must also be specified. + +Note: currently, this flag is not implemented in the glibc wrapper. +Use the numerical value 4, if you want to use it. .PP If the memory segment specified by .I old_address @@ -156,8 +182,9 @@ page aligned; a value other than .B MREMAP_MAYMOVE or .B MREMAP_FIXED -was specified in -.IR flags ; +or +.B MREMAP_DONTUNMAP +was specified in \fIflags\fP; .I new_size was zero; .I new_size @@ -175,13 +202,26 @@ and or .B MREMAP_FIXED was specified without also specifying -.BR MREMAP_MAYMOVE . +.BR MREMAP_MAYMOVE ; +or +.B MREMAP_DONTUNMAP +was specified without also specifying +.BR MREMAP_FIXED . .TP .B ENOMEM The memory area cannot be expanded at the current virtual address, and the .B MREMAP_MAYMOVE flag is not set in \fIflags\fP. Or, there is not enough (virtual) memory available. +Or, both the +.B MREMAP_FIXED +and +.B MREMAP_DONTUNMAP +flags are set and the memory region specified by +.I new_address +and +.I new_size +overlaps pages of any existing mapping(s). .SH CONFORMING TO This call is Linux-specific, and should not be used in programs intended to be portable. -- 2.7.4
next prev parent reply other threads:[~2016-04-02 19:17 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-04-02 19:17 [PATCH 0/3] mm/mmap.c: don't unmap the overlapping VMA(s) Piotr Kwapulinski 2016-04-02 19:17 ` [PATCH 1/3] man/mmap.2: " Piotr Kwapulinski 2016-04-02 19:17 ` Piotr Kwapulinski 2016-04-02 19:17 ` [PATCH 2/3] mm/mremap.c: " Piotr Kwapulinski 2016-04-02 19:17 ` Piotr Kwapulinski 2016-04-02 19:17 ` Piotr Kwapulinski [this message] 2016-04-02 19:17 ` [PATCH 3/3] man/mremap.2: " Piotr Kwapulinski 2016-04-02 21:54 ` [PATCH 0/3] mm/mmap.c: " Kirill A. Shutemov 2016-04-03 5:52 ` Konstantin Khlebnikov 2016-04-03 5:52 ` Konstantin Khlebnikov 2016-04-04 7:31 ` Michal Hocko 2016-04-04 7:31 ` Michal Hocko 2016-04-04 15:26 ` Vlastimil Babka 2016-04-07 16:11 ` Piotr Kwapulinski 2016-04-07 16:11 ` Piotr Kwapulinski 2016-04-07 16:31 ` Michal Hocko 2016-04-07 16:31 ` Michal Hocko 2016-04-08 15:32 ` Piotr Kwapulinski 2016-04-08 15:32 ` Piotr Kwapulinski 2016-04-07 16:20 ` Piotr Kwapulinski
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1459624654-7955-4-git-send-email-kwapulinski.piotr@gmail.com \ --to=kwapulinski.piotr@gmail.com \ --cc=aarcange@redhat.com \ --cc=akpm@linux-foundation.org \ --cc=arnd@arndb.de \ --cc=aryabinin@virtuozzo.com \ --cc=cmetcalf@mellanox.com \ --cc=dan.j.williams@intel.com \ --cc=dave.hansen@linux.intel.com \ --cc=dave@stgolabs.net \ --cc=denc716@gmail.com \ --cc=gang.chen.5i5j@gmail.com \ --cc=hannes@cmpxchg.org \ --cc=iamjoonsoo.kim@lge.com \ --cc=jack@suse.cz \ --cc=kirill.shutemov@linux.intel.com \ --cc=koct9i@gmail.com \ --cc=kuleshovmail@gmail.com \ --cc=ldufour@linux.vnet.ibm.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mhocko@suse.com \ --cc=mingo@kernel.org \ --cc=mszeredi@suse.cz \ --cc=mtk.manpages@gmail.com \ --cc=oleg@redhat.com \ --cc=rientjes@google.com \ --cc=toshi.kani@hpe.com \ --cc=vbabka@suse.cz \ --cc=viro@zeniv.linux.org.uk \ --cc=xiexiuqi@huawei.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).