Re: [PATCH 3/3] vmscan: merge duplicate code inshrink_active_list()

From: Wu Fengguang
Date: Sat May 16 2009 - 09:48:02 EST


On Sat, May 16, 2009 at 09:39:50PM +0800, Johannes Weiner wrote:
> On Sat, May 16, 2009 at 05:00:08PM +0800, Wu Fengguang wrote:
> > The "move pages to active list" and "move pages to inactive list"
> > code blocks are mostly identical and can be served by a function.
> >
> > Thanks to Andrew Morton for pointing this out.
> >
> > Note that buffer_heads_over_limit check will also be carried out
> > for re-activated pages, which is slightly different from pre-2.6.28
> > kernels. Also, Rik's "vmscan: evict use-once pages first" patch
> > could totally stop scans of active list when memory pressure is low.
> > So the net effect could be, the number of buffer heads is now more
> > likely to grow large.
>
> I don't think that this could be harmful. We just preserve the buffer
> mappings of what we consider the working set and with low memory
> pressure, as you say, this set is not big.
>
> As to stripping of reactivated pages: the only pages we re-activate
> for now are those VM_EXEC mapped ones. Since we don't expect IO from
> or to these pages, removing the buffer mappings in case they grow too
> large should be okay, I guess.

Agreed - and good analyzes, thanks!

Fengguang

> > CC: Rik van Riel <riel@xxxxxxxxxx>
> > Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>
>
> Reviewed-by: Johannes Weiner <hannes@xxxxxxxxxxx>
--
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/