Messages in this thread | | | Date | Fri, 16 Apr 2010 14:27:42 +1000 | From | Dave Chinner <> | Subject | Re: [PATCH 08/10] vmscan: Setup pagevec as late as possible in shrink_inactive_list() |
| |
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@csn.ul.ie> > --- > 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@fromorbit.com
| |