From mboxrd@z Thu Jan 1 00:00:00 1970 From: Helge Deller Subject: Re: [PATCH v6 3/5] mm: introduce mmap3 for safely defining new mmap flags Date: Fri, 25 Aug 2017 18:19:19 +0200 Message-ID: <4de21e8d-5e10-ec40-c731-0c079953cf48@gmx.de> References: <150353211413.5039.5228914877418362329.stgit@dwillia2-desk3.amr.corp.intel.com> <150353213097.5039.6729469069608762658.stgit@dwillia2-desk3.amr.corp.intel.com> <20170824165546.GA3121@infradead.org> <20170825130011.GA30072@infradead.org> <20170825155803.4km7wttzadfqw2vb@node.shutemov.name> <20170825160236.GA2561@infradead.org> <20170825161607.6v6beg4zjktllt2z@node.shutemov.name> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20170825161607.6v6beg4zjktllt2z-sVvlyX1904swdBt8bTSxpkEMvNT87kid@public.gmane.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-nvdimm-bounces-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org Sender: "Linux-nvdimm" To: "Kirill A. Shutemov" , Christoph Hellwig Cc: Jan Kara , linux-parisc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Arnd Bergmann , "linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org" , Linux API , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , linux-xfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Linux MM , Andy Lutomirski , linux-fsdevel , Andrew Morton , "Kirill A. Shutemov" List-Id: linux-api@vger.kernel.org On 25.08.2017 18:16, Kirill A. Shutemov wrote: > On Fri, Aug 25, 2017 at 09:02:36AM -0700, Christoph Hellwig wrote: >> On Fri, Aug 25, 2017 at 06:58:03PM +0300, Kirill A. Shutemov wrote: >>> Not all archs are ready for this: >>> >>> arch/parisc/include/uapi/asm/mman.h:#define MAP_TYPE 0x03 /* Mask for type of mapping */ >>> arch/parisc/include/uapi/asm/mman.h:#define MAP_FIXED 0x04 /* Interpret addr exactly */ >> >> I'd be happy to say that we should not care about parisc for >> persistent memory. We'll just have to find a way to exclude >> parisc without making life too ugly. > > I don't think creapling mmap() interface for one arch is the right way to > go. I think the interface should be universal. > > I may imagine MAP_DIRECT can be useful not only for persistent memory. > For tmpfs instead of mlock()? On parisc we have #define MAP_SHARED 0x01 /* Share changes */ #define MAP_PRIVATE 0x02 /* Changes are private */ #define MAP_TYPE 0x03 /* Mask for type of mapping */ #define MAP_FIXED 0x04 /* Interpret addr exactly */ #define MAP_ANONYMOUS 0x10 /* don't use a file */ So, if you need a MAP_DIRECT, wouldn't e.g. #define MAP_DIRECT 0x08 be possible (for parisc, and others 0x04). And if MAP_TYPE needs to include this flag on parisc: #define MAP_TYPE (0x03 | 0x08) /* Mask for type of mapping */ Helge