Re: [PATCH] mm: Revert pinned_vm braindamage

From: Thomas Gleixner
Date: Mon Jun 17 2013 - 08:29:09 EST


On Thu, 13 Jun 2013, Andrew Morton wrote:
> Let's try to get this wrapped up?
>
> On Thu, 6 Jun 2013 14:43:51 +0200 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> >
> > Patch bc3e53f682 ("mm: distinguish between mlocked and pinned pages")
> > broke RLIMIT_MEMLOCK.
>
> I rather like what bc3e53f682 did, actually. RLIMIT_MEMLOCK limits the
> amount of memory you can mlock(). Nice and simple.
>
> This pinning thing which infiniband/perf are doing is conceptually
> different and if we care at all, perhaps we should be looking at adding
> RLIMIT_PINNED.

Actually PINNED is just a stronger version of MEMLOCK. PINNED and
MEMLOCK are both preventing the page from being paged out. PINNED adds
the constraint of preventing minor faults as well.

So I think the really important tuning knob is the limitation of pages
which cannot be paged out. And this is what RLIMIT_MEMLOCK is about.

Now if you want to add RLIMIT_PINNED as well, then it only limits the
number of pages which cannot create minor faults, but that does not
affect the limitation of total pages which cannot be paged out.

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/