• Mel Gorman's avatar
    vmscan: set up pagevec as late as possible in shrink_page_list() · abe4c3b5
    Mel Gorman authored
    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().
    Signed-off-by: default avatarMel Gorman <mel@csn.ul.ie>
    Reviewed-by: default avatarRik van Riel <riel@redhat.com>
    Cc: Dave Chinner <david@fromorbit.com>
    Cc: Chris Mason <chris.mason@oracle.com>
    Cc: Nick Piggin <npiggin@suse.de>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Christoph Hellwig <hch@infradead.org>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Michael Rubin <mrubin@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    abe4c3b5
vmscan.c 79.9 KB