From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wu Fengguang Subject: Re: [PATCH 03/17] writeback: introduce writeback_control.inodes_cleaned Date: Tue, 10 May 2011 10:23:36 +0800 Message-ID: <20110510022336.GB6758@localhost> References: <20110506030821.523093711@intel.com> <20110506031612.167620443@intel.com> <20110506143614.GF18982@quack.suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Andrew Morton , LKML , Mel Gorman , Dave Chinner , Christoph Hellwig , "linux-fsdevel@vger.kernel.org" To: Jan Kara Return-path: Content-Disposition: inline In-Reply-To: <20110506143614.GF18982@quack.suse.cz> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Fri, May 06, 2011 at 10:36:14PM +0800, Jan Kara wrote: > On Fri 06-05-11 11:08:24, Wu Fengguang wrote: > > The flusher works on dirty inodes in batches, and may quit prematurely > > if the batch of inodes happen to be metadata-only dirtied: in this case > > wbc->nr_to_write won't be decreased at all, which stands for "no pages > > written" but also mis-interpreted as "no progress". > > > > So introduce writeback_control.inodes_cleaned to count the inodes get > > cleaned. A non-zero value means there are some progress on writeback, > > in which case more writeback can be tried. > > > > about v1: The initial version was to count successful ->write_inode() > > calls. However it leads to busy loops for sync() over NFS, because NFS > > ridiculously returns 0 (success) while at the same time redirties the > > inode. The NFS case can be trivially fixed, however there may be more > > hidden bugs in other filesystems.. > I think Christoph didn't like this patch > (https://lkml.org/lkml/2011/5/4/123) and suggested that inodes_cleaned > should remain local to fs-writeback.c... Yes, he didn't like introducing one more field to writeback_control, which will be removed in patch 14. (It will be a lot of fuss to move patch 14 here or move this logic after patch 14.) Thanks, Fengguang