xfs
[Top] [All Lists]

Re: [PATCH 7/8] mm: vmscan: Immediately reclaim end-of-LRU dirty pages w

To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Subject: Re: [PATCH 7/8] mm: vmscan: Immediately reclaim end-of-LRU dirty pages when writeback completes
From: Mel Gorman <mgorman@xxxxxxx>
Date: Fri, 22 Jul 2011 14:23:19 +0100
Cc: Linux-MM <linux-mm@xxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, XFS <xfs@xxxxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, Johannes Weiner <jweiner@xxxxxxxxxx>, Wu Fengguang <fengguang.wu@xxxxxxxxx>, Jan Kara <jack@xxxxxxx>, Rik van Riel <riel@xxxxxxxxxx>, Minchan Kim <minchan.kim@xxxxxxxxx>
In-reply-to: <1311339228.27400.34.camel@twins>
References: <1311265730-5324-1-git-send-email-mgorman@xxxxxxx> <1311265730-5324-8-git-send-email-mgorman@xxxxxxx> <1311339228.27400.34.camel@twins>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, Jul 22, 2011 at 02:53:48PM +0200, Peter Zijlstra wrote:
> On Thu, 2011-07-21 at 17:28 +0100, Mel Gorman wrote:
> > When direct reclaim encounters a dirty page, it gets recycled around
> > the LRU for another cycle. This patch marks the page PageReclaim
> > similar to deactivate_page() so that the page gets reclaimed almost
> > immediately after the page gets cleaned. This is to avoid reclaiming
> > clean pages that are younger than a dirty page encountered at the
> > end of the LRU that might have been something like a use-once page.
> > 
> 
> > @@ -834,7 +834,15 @@ static unsigned long shrink_page_list(struct list_head 
> > *page_list,
> >                      */
> >                     if (page_is_file_cache(page) &&
> >                                     (!current_is_kswapd() || priority >= 
> > DEF_PRIORITY - 2)) {
> > -                           inc_zone_page_state(page, NR_VMSCAN_WRITE_SKIP);
> > +                           /*
> > +                            * Immediately reclaim when written back.
> > +                            * Similar in principal to deactivate_page()
> > +                            * except we already have the page isolated
> > +                            * and know it's dirty
> > +                            */
> > +                           inc_zone_page_state(page, NR_VMSCAN_INVALIDATE);
> > +                           SetPageReclaim(page);
> > +
> 
> I find the invalidate name somewhat confusing. It makes me think we'll
> drop the page without writeback, like invalidatepage().

I wasn't that happy with it either to be honest but didn't think of a
better one at the time. nr_reclaim_deferred?

-- 
Mel Gorman
SUSE Labs

<Prev in Thread] Current Thread [Next in Thread>