From: Eric B Munson <emunson@akamai.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Shuah Khan <shuahkh@osg.samsung.com>,
linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mips@linux-mips.org, linux-parisc@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
linux-xtensa@linux-xtensa.org, linux-mm@kvack.org,
linux-arch@vger.kernel.org, linux-api@vger.kernel.org
Subject: Re: [PATCH 0/3] Allow user to request memory to be locked on page fault
Date: Mon, 11 May 2015 17:05:33 -0400 [thread overview]
Message-ID: <20150511210533.GB1227@akamai.com> (raw)
In-Reply-To: <20150511121204.2af73429ad3c29b6d67f1345@linux-foundation.org>
[-- Attachment #1: Type: text/plain, Size: 2059 bytes --]
On Mon, 11 May 2015, Andrew Morton wrote:
> On Mon, 11 May 2015 10:36:18 -0400 Eric B Munson <emunson@akamai.com> wrote:
>
> > On Fri, 08 May 2015, Andrew Morton wrote:
> > ...
> >
> > >
> > > Why can't the application mmap only those parts of the file which it
> > > wants and mlock those?
> >
> > There are a number of problems with this approach. The first is it
> > presumes the program will know what portions are needed a head of time.
> > In many cases this is simply not true. The second problem is the number
> > of syscalls required. With my patches, a single mmap() or mlockall()
> > call is needed to setup the required locking. Without it, a separate
> > mmap call must be made for each piece of data that is needed. This also
> > opens up problems for data that is arranged assuming it is contiguous in
> > memory. With the single mmap call, the user gets a contiguous VMA
> > without having to know about it. mmap() with MAP_FIXED could address
> > the problem, but this introduces a new failure mode of your map
> > colliding with another that was placed by the kernel.
> >
> > Another use case for the LOCKONFAULT flag is the security use of
> > mlock(). If an application will be using data that cannot be written
> > to swap, but the exact size is unknown until run time (all we have a
> > build time is the maximum size the buffer can be). The LOCKONFAULT flag
> > allows the developer to create the buffer and guarantee that the
> > contents are never written to swap without ever consuming more memory
> > than is actually needed.
>
> What application(s) or class of applications are we talking about here?
>
> IOW, how generally applicable is this? It sounds rather specialized.
>
For the example of a large file, this is the usage pattern for a large
statical language model (probably applies to other statical or graphical
models as well). For the security example, any application transacting
in data that cannot be swapped out (credit card data, medical records,
etc).
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-05-11 21:05 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-08 19:33 Eric B Munson
2015-05-08 19:33 ` [PATCH 1/3] Add flag to request pages are locked after " Eric B Munson
2015-05-08 19:33 ` [PATCH 2/3] Add mlockall flag for locking pages on fault Eric B Munson
2015-05-08 19:33 ` [PATCH 3/3] Add tests for lock " Eric B Munson
2015-05-08 19:42 ` [PATCH 0/3] Allow user to request memory to be locked on page fault Andrew Morton
2015-05-08 20:06 ` Eric B Munson
2015-05-08 20:15 ` Andrew Morton
2015-05-11 14:36 ` Eric B Munson
2015-05-11 19:12 ` Andrew Morton
2015-05-11 21:05 ` Eric B Munson [this message]
2015-05-13 13:58 ` Michal Hocko
2015-05-13 14:14 ` Eric B Munson
2015-05-11 18:06 ` Eric B Munson
2015-05-13 15:00 ` Eric B Munson
2015-05-14 8:08 ` Michal Hocko
2015-05-14 13:58 ` Eric B Munson
2015-05-15 15:35 ` Eric B Munson
2015-05-19 20:30 ` Eric B Munson
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=20150511210533.GB1227@akamai.com \
--to=emunson@akamai.com \
--cc=akpm@linux-foundation.org \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linux-mm@kvack.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-xtensa@linux-xtensa.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=shuahkh@osg.samsung.com \
--cc=sparclinux@vger.kernel.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox