From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [Bug 18632] "INFO: task" dpkg "blocked for more than 120 seconds. Date: Thu, 9 Jun 2011 10:21:33 -0400 Message-ID: <20110609142133.GA12658@infradead.org> References: <201106082138.p58Lchgj002615@demeter2.kernel.org> <20110608150241.8412a63d.akpm@linux-foundation.org> <20110609033217.GA10741@localhost> <20110609035426.GA12061@localhost> <20110609082718.GA10335@infradead.org> <20110609090906.GA19186@localhost> <20110609110214.GA9017@infradead.org> <20110609121117.GA5768@localhost> <4DF0D4D6.2060800@tao.ma> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Wu Fengguang , Christoph Hellwig , Dave Chinner , Andrew Morton , Jan Kara , "linux-fsdevel@vger.kernel.org" , "bugzilla-daemon@bugzilla.kernel.org" , "daaugusto@gmail.com" , "kernel-bugzilla@cygnusx-1.org" , "listposter@gmail.com" , "justincase@yopmail.com" , "clopez@igalia.com" , Jens Axboe , Vivek Goyal To: Tao Ma Return-path: Received: from 173-166-109-252-newengland.hfc.comcastbusiness.net ([173.166.109.252]:48510 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750899Ab1FIOVl (ORCPT ); Thu, 9 Jun 2011 10:21:41 -0400 Content-Disposition: inline In-Reply-To: <4DF0D4D6.2060800@tao.ma> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Thu, Jun 09, 2011 at 10:12:38PM +0800, Tao Ma wrote: > Just want to say more about the situation here. Actually the flusher is > too much easier to be blocked by the sync requests. And whenever it is > blocked, it takes a quite long time to get back(because several cfq > designs), so do you think we can use WRITE_SYNC for the bdev inodes in > flusher? AFAICS, in most of the cases when a volume is mounted, the > writeback for a bdev inode means the metadata writeback. And they are > very important for a file system and should be written as far as > possible. I ran my test cases with the change, and now the livelock > doesn't show up anymore. It's not a very good guestimate for metadata. A lot of metadata is either stored in directories (often happens for directories) or doesn't use the pagecache writeback functions at all. The major problem here seems to be that async requests simply starve sync requests far too much.