Re: [PATCH 0/3] Allow user to request memory to be locked on page fault

From: Eric B Munson
Date: Fri May 08 2015 - 16:06:20 EST


On Fri, 08 May 2015, Andrew Morton wrote:

> On Fri, 8 May 2015 15:33:43 -0400 Eric B Munson <emunson@xxxxxxxxxx> 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.
>
> Please tell us much much more about the value of these changes: the use
> cases, the behavioural improvements and performance results which the
> patchset brings to those use cases, etc.
>

The primary use case is for mmaping large files read only. The process
knows that some of the data is necessary, but it is unlikely that the
entire file will be needed. The developer only wants to pay the cost to
read the data in once. Unfortunately developer must choose between
allowing the kernel to page in the memory as needed and guaranteeing
that the data will only be read from disk once. The first option runs
the risk of having the memory reclaimed if the system is under memory
pressure, the second forces the memory usage and startup delay when
faulting in the entire file.

I am working on getting startup times with and without this change for
an application, I will post them as soon as I have them.

Eric

Attachment: signature.asc
Description: Digital signature