lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150602142520.GB2364@akamai.com>
Date:	Tue, 2 Jun 2015 10:25:20 -0400
From:	Eric B Munson <emunson@...mai.com>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	Shuah Khan <shuahkh@....samsung.com>,
	Michal Hocko <mhocko@...e.cz>, linux-alpha@...r.kernel.org,
	linux-kernel@...r.kernel.org, linux-mips@...ux-mips.org,
	linux-parisc@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
	sparclinux@...r.kernel.org, linux-xtensa@...ux-xtensa.org,
	linux-mm@...ck.org, linux-arch@...r.kernel.org,
	linux-api@...r.kernel.org
Subject: Re: [RESEND PATCH 0/3] Allow user to request memory to be locked on
 page fault

On Mon, 01 Jun 2015, Andrew Morton wrote:

> On Fri, 29 May 2015 10:13:25 -0400 Eric B Munson <emunson@...mai.com> wrote:
> 
> > mlock() allows a user to control page out of program memory, but this
> > comes at the cost of faulting in the entire mapping when it is
> > allocated.  For large mappings where the entire area is not necessary
> > this is not ideal.
> > 
> > This series introduces new flags for mmap() and mlockall() that allow a
> > user to specify that the covered are should not be paged out, but only
> > after the memory has been used the first time.
> 
> I almost applied these, but the naming issue (below) stopped me.
> 
> A few things...
> 
> - The 0/n changelog should reveal how MAP_LOCKONFAULT interacts with
>   rlimit(RLIMIT_MEMLOCK).
> 
>   I see the implementation is "as if the entire mapping will be
>   faulted in" (for mmap) and "as if it was MCL_FUTURE" (for mlockall)
>   which seems fine.  Please include changelog text explaining and
>   justifying these decisions.  This stuff will need to be in the
>   manpage updates as well.

Change logs are updated, and this will be included in the man page
update as well.

> 
> - I think I already asked "why not just use MCL_FUTURE" but I forget
>   the answer ;) In general it is a good idea to update changelogs in
>   response to reviewer questions, because other people will be
>   wondering the same things.  Or maybe I forgot to ask.  Either way,
>   please address this in the changelogs.

I must have missed that question.  Here is the text from the updated
mlockall changelog:

MCL_ONFAULT is preferrable to MCL_FUTURE for the use cases enumerated
in the previous patch becuase MCL_FUTURE will behave as if each mapping
was made with MAP_LOCKED, causing the entire mapping to be faulted in
when new space is allocated or mapped.  MCL_ONFAULT allows the user to
delay the fault in cost of any given page until it is actually needed,
but then guarantees that that page will always be resident.

> 
> - I can perhaps see the point in mmap(MAP_LOCKONFAULT) (other
>   mappings don't get lock-in-memory treatment), but what's the benefit
>   in mlockall(MCL_ON_FAULT) over MCL_FUTURE?  (Add to changelog also,
>   please).
> 
> - Is there a manpage update?

I will send one out when I post V2

> 
> - Can we rename patch 1/3 from "add flag to ..." to "add mmap flag to
>   ...", to distinguish from 2/3 "add mlockall flag ..."?

Done

> 
> - The MAP_LOCKONFAULT versus MCL_ON_FAULT inconsistency is
>   irritating!  Can we get these consistent please: switch to either
>   MAP_LOCK_ON_FAULT or MCL_ONFAULT.

Yes, will do for V2.

> 

Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ