Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753494AbdLFHeC (ORCPT ); Wed, 6 Dec 2017 02:34:02 -0500 Received: from hqemgate14.nvidia.com ([216.228.121.143]:12457 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753326AbdLFHd7 (ORCPT ); Wed, 6 Dec 2017 02:33:59 -0500 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Tue, 05 Dec 2017 23:33:59 -0800 Subject: Re: [PATCH 0/2] mm: introduce MAP_FIXED_SAFE To: Matthew Wilcox , Michael Ellerman CC: Cyril Hrubis , Michal Hocko , Kees Cook , Linux API , Khalid Aziz , Andrew Morton , Russell King - ARM Linux , Andrea Arcangeli , Linux-MM , LKML , linux-arch , Florian Weimer , Abdul Haleem , Joel Stanley References: <20171129144219.22867-1-mhocko@kernel.org> <20171130065835.dbw4ajh5q5whikhf@dhcp22.suse.cz> <20171201152640.GA3765@rei> <87wp20e9wf.fsf@concordia.ellerman.id.au> <20171206045433.GQ26021@bombadil.infradead.org> <20171206070355.GA32044@bombadil.infradead.org> X-Nvconfidentiality: public From: John Hubbard Message-ID: <5f4fc834-274a-b8f1-bda0-5bcddc5902ed@nvidia.com> Date: Tue, 5 Dec 2017 23:33:58 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20171206070355.GA32044@bombadil.infradead.org> X-Originating-IP: [10.2.170.2] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2162 Lines: 59 On 12/05/2017 11:03 PM, Matthew Wilcox wrote: > On Tue, Dec 05, 2017 at 08:54:35PM -0800, Matthew Wilcox wrote: >> On Wed, Dec 06, 2017 at 03:51:44PM +1100, Michael Ellerman wrote: >>> Cyril Hrubis writes: >>> >>>> Hi! >>>>>> MAP_FIXED_UNIQUE >>>>>> MAP_FIXED_ONCE >>>>>> MAP_FIXED_FRESH >>>>> >>>>> Well, I can open a poll for the best name, but none of those you are >>>>> proposing sound much better to me. Yeah, naming sucks... >>>> >>>> Given that MAP_FIXED replaces the previous mapping MAP_FIXED_NOREPLACE >>>> would probably be a best fit. >>> >>> Yeah that could work. >>> >>> I prefer "no clobber" as I just suggested, because the existing >>> MAP_FIXED doesn't politely "replace" a mapping, it destroys the current >>> one - which you or another thread may be using - and clobbers it with >>> the new one. >> >> It's longer than MAP_FIXED_WEAK :-P >> >> You'd have to be pretty darn strong to clobber an existing mapping. > > I think we're thinking about this all wrong. We shouldn't document it as > "This is a variant of MAP_FIXED". We should document it as "Here's an > alternative to MAP_FIXED". > > So, just like we currently say "exactly one of MAP_SHARED or MAP_PRIVATE", > we could add a new paragraph saying "at most one of MAP_FIXED or > MAP_REQUIRED" and "any of the following values". > > Now, we should implement MAP_REQUIRED as having each architecture > define _MAP_NOT_A_HINT, and then #define MAP_REQUIRED (MAP_FIXED | > _MAP_NOT_A_HINT), but that's not information to confuse users with. > > Also, that lets us add a third option at some point that is Yet Another > Way to interpret the 'addr' argument, by having MAP_FIXED clear and > _MAP_NOT_A_HINT set. > > I'm not set on MAP_REQUIRED. I came up with some awful names > (MAP_TODDLER, MAP_TANTRUM, MAP_ULTIMATUM, MAP_BOSS, MAP_PROGRAM_MANAGER, > etc). But I think we should drop FIXED from the middle of the name. > In that case, maybe: MAP_EXACT ? ...because that's the characteristic behavior. It doesn't clobber, but you don't need to say that in the name, now that we're not including _FIXED_ in the middle. thanks, John Hubbard NVIDIA