From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH 01/15] writeback: introduce .tagged_writepages for the WB_SYNC_NONE sync stage Date: Tue, 7 Jun 2011 16:02:34 -0700 Message-ID: <20110607160234.53de9f93.akpm@linux-foundation.org> References: <20110607213236.634026193@intel.com> <20110607213853.513366237@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Jan Kara , Dave Chinner , Christoph Hellwig , , LKML To: Wu Fengguang Return-path: In-Reply-To: <20110607213853.513366237@intel.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Wed, 08 Jun 2011 05:32:37 +0800 Wu Fengguang wrote: > sync(2) is performed in two stages: the WB_SYNC_NONE sync and the > WB_SYNC_ALL sync. Identify the first stage with .tagged_writepages and > do livelock prevention for it, too. > > Note that writeback_inodes_sb() is called by not only sync(), they are > treated the same because the other callers also need livelock prevention. > > Impact: It changes the order in which pages/inodes are synced to disk. > Now in the WB_SYNC_NONE stage, it won't proceed to write the next inode > until finished with the current inode. What problem is this patch actually fixing? It sounds like there's some livelock scenario in the WB_SYNC_NONE phase. otoh the final paragraph implies that the WB_SYNC_NONE phase is failing to write some pages under some situations. Suggest that the changelog be fleshed out to cover all of this.