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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>