Re: [PATCH 0/2] mm: introduce MAP_FIXED_SAFE
From: John Hubbard <jhubbard@nvidia.com>
Date: 2017-12-06 07:34:02
Also in:
linux-arch, linux-mm, lkml
On 12/05/2017 11:03 PM, Matthew Wilcox wrote:
On Tue, Dec 05, 2017 at 08:54:35PM -0800, Matthew Wilcox wrote:quoted
On Wed, Dec 06, 2017 at 03:51:44PM +1100, Michael Ellerman wrote:quoted
Cyril Hrubis [off-list ref] writes:quoted
Hi!quoted
quoted
MAP_FIXED_UNIQUE MAP_FIXED_ONCE MAP_FIXED_FRESHWell, 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