From: Michal Hocko <mhocko@kernel.org> To: Michael Ellerman <mpe@ellerman.id.au> Cc: linux-api@vger.kernel.org, Khalid Aziz <khalid.aziz@oracle.com>, Andrew Morton <akpm@linux-foundation.org>, Russell King - ARM Linux <linux@armlinux.org.uk>, Andrea Arcangeli <aarcange@redhat.com>, linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>, linux-arch@vger.kernel.org, Florian Weimer <fweimer@redhat.com>, John Hubbard <jhubbard@nvidia.com> Subject: Re: [PATCH 1/2] mm: introduce MAP_FIXED_SAFE Date: Wed, 6 Dec 2017 11:02:29 +0100 [thread overview] Message-ID: <20171206100229.GI16386@dhcp22.suse.cz> (raw) In-Reply-To: <20171206092724.GH16386@dhcp22.suse.cz> On Wed 06-12-17 10:27:24, Michal Hocko wrote: > On Wed 06-12-17 16:15:24, Michael Ellerman wrote: [...] > > So I think I proved above that all the arches that are using 0x80000 are > > also using mman-common.h, and vice-versa. > > > > So you can put this in mman-common.h can't your? > > Yes it seems I can. I would have to double check. It is true that > defining the new flag closer to MAP_FIXED makes some sense OK, so some recap those which include generic mman-common.h directly arch/sparc/include/uapi/asm/mman.h:#include <asm-generic/mman-common.h> arch/powerpc/include/uapi/asm/mman.h:#include <asm-generic/mman-common.h> arch/tile/include/uapi/asm/mman.h:#include <asm-generic/mman-common.h> then we have arch/metag/include/asm/mman.h which includes uapi/asm/mman.h and that is a generic one arch/metag/include/uapi/asm/Kbuild:generic-y += mman.h others include generic mman.h arch/arm/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/frv/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/ia64/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/m32r/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/mn10300/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/score/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/x86/include/uapi/asm/mman.h:#include <asm-generic/mman.h> which includes mman-common.h as well and then we are left with arch/alpha/include/uapi/asm/mman.h arch/mips/include/uapi/asm/mman.h arch/parisc/include/uapi/asm/mman.h arch/xtensa/include/uapi/asm/mman.h which do not include anything. So the patch can be indeed simplified. I will fold the following into the patch. I hope nothing got left behind but my defconfig compile test on all arches which i have a cross compiler for succeeded. --- commit 52a9272f419f428cb079d340f64113325516ef9b Author: Michal Hocko <mhocko@suse.com> Date: Wed Dec 6 10:46:16 2017 +0100 - define MAP_FIXED_SAFE in asm-generic/mman-common.h as per Michael Ellerman because all architecture which use this header can share the same value. This will leave us with only 4 arches which need special handling. diff --git a/arch/alpha/include/uapi/asm/mman.h b/arch/alpha/include/uapi/asm/mman.h index ef3770262925..7287dbf1e11b 100644 --- a/arch/alpha/include/uapi/asm/mman.h +++ b/arch/alpha/include/uapi/asm/mman.h @@ -31,7 +31,6 @@ #define MAP_NONBLOCK 0x40000 /* do not block on IO */ #define MAP_STACK 0x80000 /* give out an address that is best suited for process/thread stacks */ #define MAP_HUGETLB 0x100000 /* create a huge page mapping */ - #define MAP_FIXED_SAFE 0x200000 /* MAP_FIXED which doesn't unmap underlying mapping */ #define MS_ASYNC 1 /* sync memory asynchronously */ diff --git a/arch/powerpc/include/uapi/asm/mman.h b/arch/powerpc/include/uapi/asm/mman.h index 3ffd284e7160..e63bc37e33af 100644 --- a/arch/powerpc/include/uapi/asm/mman.h +++ b/arch/powerpc/include/uapi/asm/mman.h @@ -29,6 +29,5 @@ #define MAP_NONBLOCK 0x10000 /* do not block on IO */ #define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */ #define MAP_HUGETLB 0x40000 /* create a huge page mapping */ -#define MAP_FIXED_SAFE 0x800000 /* MAP_FIXED which doesn't unmap underlying mapping */ #endif /* _UAPI_ASM_POWERPC_MMAN_H */ diff --git a/arch/sparc/include/uapi/asm/mman.h b/arch/sparc/include/uapi/asm/mman.h index 0c282c09fae8..d21bffd5d3dc 100644 --- a/arch/sparc/include/uapi/asm/mman.h +++ b/arch/sparc/include/uapi/asm/mman.h @@ -24,7 +24,5 @@ #define MAP_NONBLOCK 0x10000 /* do not block on IO */ #define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */ #define MAP_HUGETLB 0x40000 /* create a huge page mapping */ -#define MAP_FIXED_SAFE 0x80000 /* MAP_FIXED which doesn't unmap underlying mapping */ - #endif /* _UAPI__SPARC_MMAN_H__ */ diff --git a/arch/tile/include/uapi/asm/mman.h b/arch/tile/include/uapi/asm/mman.h index b212f5fd5345..9b7add95926b 100644 --- a/arch/tile/include/uapi/asm/mman.h +++ b/arch/tile/include/uapi/asm/mman.h @@ -30,7 +30,6 @@ #define MAP_DENYWRITE 0x0800 /* ETXTBSY */ #define MAP_EXECUTABLE 0x1000 /* mark it as an executable */ #define MAP_HUGETLB 0x4000 /* create a huge page mapping */ -#define MAP_FIXED_SAFE 0x8000 /* MAP_FIXED which doesn't unmap underlying mapping */ /* diff --git a/include/uapi/asm-generic/mman-common.h b/include/uapi/asm-generic/mman-common.h index 6d319c46fd90..1eca2cb10d44 100644 --- a/include/uapi/asm-generic/mman-common.h +++ b/include/uapi/asm-generic/mman-common.h @@ -25,6 +25,7 @@ #else # define MAP_UNINITIALIZED 0x0 /* Don't support this flag */ #endif +#define MAP_FIXED_SAFE 0x80000 /* MAP_FIXED which doesn't unmap underlying mapping */ /* * Flags for mlock diff --git a/include/uapi/asm-generic/mman.h b/include/uapi/asm-generic/mman.h index 56cde132a80a..2dffcbf705b3 100644 --- a/include/uapi/asm-generic/mman.h +++ b/include/uapi/asm-generic/mman.h @@ -13,7 +13,6 @@ #define MAP_NONBLOCK 0x10000 /* do not block on IO */ #define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */ #define MAP_HUGETLB 0x40000 /* create a huge page mapping */ -#define MAP_FIXED_SAFE 0x80000 /* MAP_FIXED which doesn't unmap underlying mapping */ /* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */ -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: Michael Ellerman <mpe@ellerman.id.au> Cc: linux-api@vger.kernel.org, Khalid Aziz <khalid.aziz@oracle.com>, Andrew Morton <akpm@linux-foundation.org>, Russell King - ARM Linux <linux@armlinux.org.uk>, Andrea Arcangeli <aarcange@redhat.com>, linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>, linux-arch@vger.kernel.org, Florian Weimer <fweimer@redhat.com>, John Hubbard <jhubbard@nvidia.com> Subject: Re: [PATCH 1/2] mm: introduce MAP_FIXED_SAFE Date: Wed, 6 Dec 2017 11:02:29 +0100 [thread overview] Message-ID: <20171206100229.GI16386@dhcp22.suse.cz> (raw) In-Reply-To: <20171206092724.GH16386@dhcp22.suse.cz> On Wed 06-12-17 10:27:24, Michal Hocko wrote: > On Wed 06-12-17 16:15:24, Michael Ellerman wrote: [...] > > So I think I proved above that all the arches that are using 0x80000 are > > also using mman-common.h, and vice-versa. > > > > So you can put this in mman-common.h can't your? > > Yes it seems I can. I would have to double check. It is true that > defining the new flag closer to MAP_FIXED makes some sense OK, so some recap those which include generic mman-common.h directly arch/sparc/include/uapi/asm/mman.h:#include <asm-generic/mman-common.h> arch/powerpc/include/uapi/asm/mman.h:#include <asm-generic/mman-common.h> arch/tile/include/uapi/asm/mman.h:#include <asm-generic/mman-common.h> then we have arch/metag/include/asm/mman.h which includes uapi/asm/mman.h and that is a generic one arch/metag/include/uapi/asm/Kbuild:generic-y += mman.h others include generic mman.h arch/arm/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/frv/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/ia64/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/m32r/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/mn10300/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/score/include/uapi/asm/mman.h:#include <asm-generic/mman.h> arch/x86/include/uapi/asm/mman.h:#include <asm-generic/mman.h> which includes mman-common.h as well and then we are left with arch/alpha/include/uapi/asm/mman.h arch/mips/include/uapi/asm/mman.h arch/parisc/include/uapi/asm/mman.h arch/xtensa/include/uapi/asm/mman.h which do not include anything. So the patch can be indeed simplified. I will fold the following into the patch. I hope nothing got left behind but my defconfig compile test on all arches which i have a cross compiler for succeeded. --- commit 52a9272f419f428cb079d340f64113325516ef9b Author: Michal Hocko <mhocko@suse.com> Date: Wed Dec 6 10:46:16 2017 +0100 - define MAP_FIXED_SAFE in asm-generic/mman-common.h as per Michael Ellerman because all architecture which use this header can share the same value. This will leave us with only 4 arches which need special handling. diff --git a/arch/alpha/include/uapi/asm/mman.h b/arch/alpha/include/uapi/asm/mman.h index ef3770262925..7287dbf1e11b 100644 --- a/arch/alpha/include/uapi/asm/mman.h +++ b/arch/alpha/include/uapi/asm/mman.h @@ -31,7 +31,6 @@ #define MAP_NONBLOCK 0x40000 /* do not block on IO */ #define MAP_STACK 0x80000 /* give out an address that is best suited for process/thread stacks */ #define MAP_HUGETLB 0x100000 /* create a huge page mapping */ - #define MAP_FIXED_SAFE 0x200000 /* MAP_FIXED which doesn't unmap underlying mapping */ #define MS_ASYNC 1 /* sync memory asynchronously */ diff --git a/arch/powerpc/include/uapi/asm/mman.h b/arch/powerpc/include/uapi/asm/mman.h index 3ffd284e7160..e63bc37e33af 100644 --- a/arch/powerpc/include/uapi/asm/mman.h +++ b/arch/powerpc/include/uapi/asm/mman.h @@ -29,6 +29,5 @@ #define MAP_NONBLOCK 0x10000 /* do not block on IO */ #define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */ #define MAP_HUGETLB 0x40000 /* create a huge page mapping */ -#define MAP_FIXED_SAFE 0x800000 /* MAP_FIXED which doesn't unmap underlying mapping */ #endif /* _UAPI_ASM_POWERPC_MMAN_H */ diff --git a/arch/sparc/include/uapi/asm/mman.h b/arch/sparc/include/uapi/asm/mman.h index 0c282c09fae8..d21bffd5d3dc 100644 --- a/arch/sparc/include/uapi/asm/mman.h +++ b/arch/sparc/include/uapi/asm/mman.h @@ -24,7 +24,5 @@ #define MAP_NONBLOCK 0x10000 /* do not block on IO */ #define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */ #define MAP_HUGETLB 0x40000 /* create a huge page mapping */ -#define MAP_FIXED_SAFE 0x80000 /* MAP_FIXED which doesn't unmap underlying mapping */ - #endif /* _UAPI__SPARC_MMAN_H__ */ diff --git a/arch/tile/include/uapi/asm/mman.h b/arch/tile/include/uapi/asm/mman.h index b212f5fd5345..9b7add95926b 100644 --- a/arch/tile/include/uapi/asm/mman.h +++ b/arch/tile/include/uapi/asm/mman.h @@ -30,7 +30,6 @@ #define MAP_DENYWRITE 0x0800 /* ETXTBSY */ #define MAP_EXECUTABLE 0x1000 /* mark it as an executable */ #define MAP_HUGETLB 0x4000 /* create a huge page mapping */ -#define MAP_FIXED_SAFE 0x8000 /* MAP_FIXED which doesn't unmap underlying mapping */ /* diff --git a/include/uapi/asm-generic/mman-common.h b/include/uapi/asm-generic/mman-common.h index 6d319c46fd90..1eca2cb10d44 100644 --- a/include/uapi/asm-generic/mman-common.h +++ b/include/uapi/asm-generic/mman-common.h @@ -25,6 +25,7 @@ #else # define MAP_UNINITIALIZED 0x0 /* Don't support this flag */ #endif +#define MAP_FIXED_SAFE 0x80000 /* MAP_FIXED which doesn't unmap underlying mapping */ /* * Flags for mlock diff --git a/include/uapi/asm-generic/mman.h b/include/uapi/asm-generic/mman.h index 56cde132a80a..2dffcbf705b3 100644 --- a/include/uapi/asm-generic/mman.h +++ b/include/uapi/asm-generic/mman.h @@ -13,7 +13,6 @@ #define MAP_NONBLOCK 0x10000 /* do not block on IO */ #define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */ #define MAP_HUGETLB 0x40000 /* create a huge page mapping */ -#define MAP_FIXED_SAFE 0x80000 /* MAP_FIXED which doesn't unmap underlying mapping */ /* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */ -- Michal Hocko SUSE Labs -- 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>
next prev parent reply other threads:[~2017-12-06 10:02 UTC|newest] Thread overview: 125+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-11-29 14:42 [PATCH 0/2] mm: introduce MAP_FIXED_SAFE Michal Hocko 2017-11-29 14:42 ` Michal Hocko 2017-11-29 14:42 ` Michal Hocko 2017-11-29 14:42 ` [PATCH 1/2] " Michal Hocko 2017-11-29 14:42 ` Michal Hocko 2017-11-29 14:42 ` Michal Hocko 2017-12-06 5:15 ` Michael Ellerman 2017-12-06 5:15 ` Michael Ellerman 2017-12-06 9:27 ` Michal Hocko 2017-12-06 9:27 ` Michal Hocko 2017-12-06 10:02 ` Michal Hocko [this message] 2017-12-06 10:02 ` Michal Hocko 2017-12-07 12:07 ` Pavel Machek 2017-12-07 12:07 ` Pavel Machek 2017-11-29 14:42 ` [PATCH 2/2] fs, elf: drop MAP_FIXED usage from elf_map Michal Hocko 2017-11-29 14:42 ` Michal Hocko 2017-11-29 14:42 ` Michal Hocko 2017-11-29 17:45 ` Khalid Aziz 2017-11-29 17:45 ` Khalid Aziz 2018-05-29 22:21 ` Mike Kravetz 2018-05-30 8:02 ` Michal Hocko 2018-05-30 15:00 ` Mike Kravetz 2018-05-30 16:25 ` Michal Hocko 2018-05-31 0:51 ` Mike Kravetz 2018-05-31 9:24 ` Michal Hocko 2018-05-31 21:46 ` Mike Kravetz 2017-11-29 14:45 ` [PATCH] mmap.2: document new MAP_FIXED_SAFE flag Michal Hocko 2017-11-29 14:45 ` Michal Hocko 2017-11-29 14:45 ` Michal Hocko 2017-11-30 3:16 ` John Hubbard 2017-11-30 3:16 ` John Hubbard 2017-11-30 3:16 ` John Hubbard 2017-11-30 8:23 ` Michal Hocko 2017-11-30 8:23 ` Michal Hocko 2017-11-30 8:24 ` [PATCH v2] " Michal Hocko 2017-11-30 8:24 ` Michal Hocko 2017-11-30 8:24 ` Michal Hocko 2017-11-30 8:24 ` Michal Hocko 2017-11-30 18:31 ` John Hubbard 2017-11-30 18:31 ` John Hubbard 2017-11-30 18:31 ` John Hubbard 2017-11-30 18:39 ` Michal Hocko 2017-11-30 18:39 ` Michal Hocko 2017-11-29 15:13 ` [PATCH 0/2] mm: introduce MAP_FIXED_SAFE Rasmus Villemoes 2017-11-29 15:13 ` Rasmus Villemoes 2017-11-29 15:13 ` Rasmus Villemoes 2017-11-29 15:50 ` Michal Hocko 2017-11-29 15:50 ` Michal Hocko 2017-11-29 15:50 ` Michal Hocko 2017-11-29 22:15 ` Kees Cook 2017-11-29 22:15 ` Kees Cook 2017-11-29 22:12 ` Kees Cook 2017-11-29 22:12 ` Kees Cook 2017-11-29 22:25 ` Kees Cook 2017-11-29 22:25 ` Kees Cook 2017-11-30 6:58 ` Michal Hocko 2017-11-30 6:58 ` Michal Hocko 2017-11-30 6:58 ` Michal Hocko 2017-12-01 15:26 ` Cyril Hrubis 2017-12-01 15:26 ` Cyril Hrubis 2017-12-06 4:51 ` Michael Ellerman 2017-12-06 4:51 ` Michael Ellerman 2017-12-06 4:54 ` Matthew Wilcox 2017-12-06 4:54 ` Matthew Wilcox 2017-12-06 7:03 ` Matthew Wilcox 2017-12-06 7:03 ` Matthew Wilcox 2017-12-06 7:33 ` John Hubbard 2017-12-06 7:33 ` John Hubbard 2017-12-06 7:35 ` Florian Weimer 2017-12-06 7:35 ` Florian Weimer 2017-12-06 7:35 ` Florian Weimer 2017-12-06 8:06 ` John Hubbard 2017-12-06 8:06 ` John Hubbard 2017-12-06 8:06 ` John Hubbard 2017-12-06 8:06 ` John Hubbard 2017-12-06 8:54 ` Florian Weimer 2017-12-06 8:54 ` Florian Weimer 2017-12-06 8:54 ` Florian Weimer 2017-12-07 5:46 ` Michael Ellerman 2017-12-07 5:46 ` Michael Ellerman 2017-12-07 5:46 ` Michael Ellerman 2017-12-07 19:14 ` Kees Cook 2017-12-07 19:14 ` Kees Cook 2017-12-07 19:57 ` Matthew Wilcox 2017-12-07 19:57 ` Matthew Wilcox 2017-12-07 19:57 ` Matthew Wilcox 2017-12-08 8:33 ` Michal Hocko 2017-12-08 8:33 ` Michal Hocko 2017-12-08 20:13 ` Kees Cook 2017-12-08 20:13 ` Kees Cook 2017-12-08 20:13 ` Kees Cook 2017-12-08 20:57 ` Matthew Wilcox 2017-12-08 20:57 ` Matthew Wilcox 2017-12-08 20:57 ` Matthew Wilcox 2017-12-08 11:08 ` Michael Ellerman 2017-12-08 11:08 ` Michael Ellerman 2017-12-08 14:27 ` Pavel Machek 2017-12-08 20:31 ` Cyril Hrubis 2017-12-08 20:31 ` Cyril Hrubis 2017-12-08 20:31 ` Cyril Hrubis 2017-12-08 20:47 ` Florian Weimer 2017-12-08 20:47 ` Florian Weimer 2017-12-08 20:47 ` Florian Weimer 2017-12-08 14:33 ` David Laight 2017-12-08 14:33 ` David Laight 2017-12-06 4:50 ` Michael Ellerman 2017-12-06 4:50 ` Michael Ellerman 2017-12-06 7:33 ` Rasmus Villemoes 2017-12-06 7:33 ` Rasmus Villemoes 2017-12-06 7:33 ` Rasmus Villemoes 2017-12-06 9:08 ` Michal Hocko 2017-12-06 9:08 ` Michal Hocko 2017-12-06 9:08 ` Michal Hocko 2017-12-07 0:19 ` Kees Cook 2017-12-07 0:19 ` Kees Cook 2017-12-07 1:08 ` John Hubbard 2017-12-07 1:08 ` John Hubbard 2017-12-13 9:25 [PATCH v2 " Michal Hocko 2017-12-13 9:25 ` [PATCH 1/2] " Michal Hocko 2017-12-13 9:25 ` Michal Hocko 2017-12-13 9:25 ` Michal Hocko 2017-12-13 12:50 ` Matthew Wilcox 2017-12-13 12:50 ` Matthew Wilcox 2017-12-13 12:50 ` Matthew Wilcox 2017-12-13 13:01 ` Michal Hocko 2017-12-13 13:01 ` Michal Hocko
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=20171206100229.GI16386@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --cc=aarcange@redhat.com \ --cc=akpm@linux-foundation.org \ --cc=fweimer@redhat.com \ --cc=jhubbard@nvidia.com \ --cc=khalid.aziz@oracle.com \ --cc=linux-api@vger.kernel.org \ --cc=linux-arch@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux@armlinux.org.uk \ --cc=mpe@ellerman.id.au \ /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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.