Re: [PATCH 0/2] Make the Unevictable LRU available on NOMMU

From: Lee Schermerhorn
Date: Mon Mar 23 2009 - 16:08:03 EST


On Sat, 2009-03-21 at 11:20 +0100, Johannes Weiner wrote:
> On Fri, Mar 20, 2009 at 02:30:15PM -0400, Lee Schermerhorn wrote:
> > On Fri, 2009-03-20 at 16:24 +0000, David Howells wrote:
> > > Lee Schermerhorn <Lee.Schermerhorn@xxxxxx> wrote:
> > >
> > > > I just want to point out [again :)] that removing the ramfs pages from
> > > > the lru will prevent them from being migrated
> > >
> > > This is less of an issue for NOMMU kernels, since you can't migrate pages that
> > > are mapped.
> >
> >
> > Agreed. So, you could eliminate them [ramfs pages] from the lru for
> > just the nommu kernels, if you wanted to go that route.
>
> These pages don't come with much overhead anymore when they sit on the
> unevictable list, right? So I don't see much point in special casing
> them all over the place.

I agree: not much overhead; no NEED to special case. I was only
agreeing with David, that it would be OK to keep them off the LRU for
NOMMU kernels.
>
> I have a patchset that decouples the unevictable lru feature from
> mlock, enables the latter on nommu and then makes sure ramfs pages go
> immediately to the unevictable list so they don't need the scanner to
> move them. This is just wiring up of features we already have.

Yeah. I didn't do it that way, because I didn't see any benefit in
doing that for ram disk pages. If one doesn't run vmscan, having the
pages on the normal lru doesn't hurt. If you do need to run vmscan,
moving them to the unevictable list from there seems the least of your
problems :). And, doing in the pagevec flush function adds overhead to
the fault path. Granted, it's amortized over PAGEVEC_SIZE pages. Would
probably we worth measuring the performance cost. And any code size
increase--NOMMU kernel users might care about that.

>
> I will sent this mondayish, need to test it more especially on a NOMMU
> setup.

Saw them. Will take a look...

Lee

--
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/