Re: [RFC] Track mlock()ed pages

Andrew Morton
2007-01-26T11:13:22Z

On Thu, 25 Jan 2007 22:36:17 -0800 (PST)
Christoph Lameter <clameter@sgi.com> wrote:

> On Fri, 26 Jan 2007, Nick Piggin wrote:
>
> > Christoph Lameter wrote:
> > > Add NR_MLOCK
> > >
> > > Track mlocked pages via a ZVC

Why?

> > I think it is not quite right. You are tracking the number of ptes
> > that point to mlocked pages, which can be >= the actual number of pages.
>
> Mlocked pages are not inherited. I would expect sharing to be very rare.
>
> > Also, page_add_anon_rmap still needs to be balanced with page_remove_rmap.
>
> Hmmm....
>
> > I can't think of an easy way to do this without per-page state. ie.
> > another page flag.
>
> Thats what I am trying to avoid.

You could perhaps go for a walk across all the other vmas which presently
map this page. If any of them have VM_LOCKED, don't increment the counter.
Similar on removal: only decrement the counter when the final mlocked VMA
is dropping the pte.