xfs
[Top] [All Lists]

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

To: Minchan Kim <minchan.kim@xxxxxxxxx>
Subject: Re: [PATCH 7/8] mm: vmscan: Immediately reclaim end-of-LRU dirty pages when writeback completes
From: Mel Gorman <mgorman@xxxxxxx>
Date: Tue, 2 Aug 2011 12:25:18 +0100
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>, 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>
In-reply-to: <20110731152401.GE1735@barrios-desktop>
References: <1311265730-5324-1-git-send-email-mgorman@xxxxxxx> <1311265730-5324-8-git-send-email-mgorman@xxxxxxx> <1311339228.27400.34.camel@twins> <20110722132319.GX5349@xxxxxxx> <20110731152401.GE1735@barrios-desktop>
User-agent: Mutt/1.5.21 (2010-09-15)
On Mon, Aug 01, 2011 at 12:24:01AM +0900, Minchan Kim wrote:
> On Fri, Jul 22, 2011 at 02:23:19PM +0100, Mel Gorman wrote:
> > 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?
> 
> How about "NR_VMSCAN_IMMEDIATE_RECLAIM" like comment rotate_reclaimable_page?
> 

Yeah, I guess. I find it a little misleading because the reclaim does
not happen immediately at the time the counter is incremented but it's
better than "invalidate".

-- 
Mel Gorman
SUSE Labs

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