On Thu, Apr 15, 2010 at 06:21:41PM +0100, Mel Gorman wrote: > shrink_inactive_list() sets up a pagevec to release unfreeable pages. It > uses significant amounts of stack doing this. This patch splits > shrink_inactive_list() to take the stack usage out of the main path so > that callers to writepage() do not contain an unused pagevec on the > stack. > > Signed-off-by: Mel Gorman <mel@xxxxxxxxx> > --- > mm/vmscan.c | 93 +++++++++++++++++++++++++++++++++------------------------- > 1 files changed, 53 insertions(+), 40 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index a232ad6..9bc1ede 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -1120,6 +1120,54 @@ static int too_many_isolated(struct zone *zone, int file, > } > > /* > + * TODO: Try merging with migrations version of putback_lru_pages > + */ > +static noinline void putback_lru_pages(struct zone *zone, noinline_for_stack Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html