Re: [PATCH 09/12] vmscan: Setup pagevec as late as possible inshrink_page_list()

From: Andrew Morton
Date: Wed Jun 16 2010 - 19:49:14 EST


On Mon, 14 Jun 2010 12:17:50 +0100
Mel Gorman <mel@xxxxxxxxx> wrote:

> shrink_page_list() sets up a pagevec to release pages as according as they
> are free. It uses significant amounts of stack on the pagevec. This
> patch adds pages to be freed via pagevec to a linked list which is then
> freed en-masse at the end. This avoids using stack in the main path that
> potentially calls writepage().
>

hm, spose so. I cen't see any trivial way to eliminate the local
pagevec there.

> + if (pagevec_count(&freed_pvec))
> + __pagevec_free(&freed_pvec);
> ...
> - if (pagevec_count(&freed_pvec))
> - __pagevec_free(&freed_pvec);

That's an open-coded pagevec_free().
--
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/