xfs
[Top] [All Lists]

Re: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inode

To: Jan Kara <jack@xxxxxxx>
Subject: Re: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inodes
From: Tejun Heo <tj@xxxxxxxxxx>
Date: Tue, 18 Aug 2015 12:54:39 -0700
Cc: Jens Axboe <axboe@xxxxxxxxx>, Jan Kara <jack@xxxxxxxx>, Eryu Guan <eguan@xxxxxxxxxx>, xfs@xxxxxxxxxxx, axboe@xxxxxx, Dave Chinner <david@xxxxxxxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, kernel-team@xxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=SYu6YiYEvjf0KS7my8lnPNeh4o1uehBl9hwTs6dA4dU=; b=C/GI7DE44AZLkBh+CnR+QXOYMP80500Ot3DzjrI//MIedm8lyz5iGimxZ78fJjYSJY pXfee6DNC8JkwBsf9yOB24/lXgsfCbv9BMUB0KSpeYWl9tAfSUnfv3Ayf8i8VzqaniDZ hDvxVXVKSXIERscKmlQnnksVL0z9eV5cBzMSEIckIu+4/f5ge4726WLJwLq3MhKCtV3H EgMF/nAY345T3wRvYEIHjGWj4AbjqOOHhJtEMpfy7ydymTCjjZinYhUiPAaUOgdhk+w1 9X0HD6KJfpeUgdALhNtO/Z/3xopyme6846ckL03peZp2LIqq8taBy9bDcSTO0DqFQHsB VhIA==
In-reply-to: <20150818174718.GA15739@xxxxxxxxxxxxxxx>
References: <20150812101204.GE17933@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20150813004435.GN3902@dastard> <20150813224415.GG4496@xxxxxxxxxxxxxxx> <20150814111408.GB8710@xxxxxxxxxxxxx> <20150817200254.GG21075@xxxxxxxxxxxxxxx> <20150818091603.GA12317@xxxxxxxxxxxxx> <20150818174718.GA15739@xxxxxxxxxxxxxxx>
Sender: Tejun Heo <htejun@xxxxxxxxx>
User-agent: Mutt/1.5.23 (2014-03-12)
Hello,

On Tue, Aug 18, 2015 at 10:47:18AM -0700, Tejun Heo wrote:
> Hmm... the only possibility I can think of is tot_write_bandwidth
> being zero when it shouldn't be.  I've been staring at the code for a
> while now but nothing rings a bell.  Time for another debug patch, I
> guess.

So, I can now reproduce the bug (it takes a lot of trials but lowering
the number of tested files helps quite a bit) and instrumented all the
early exit paths w/o the fix patch.  bdi_has_dirty_io() and
wb_has_dirty_io() are never out of sync with the actual dirty / io
lists even when the test 048 fails, so the bug at least is not caused
by writeback skipping due to buggy bdi/wb_has_dirty_io() result.
Whenever it skips, all the lists are actually empty (verified while
holding list_lock).

One suspicion I have is that this could be a subtle timing issue which
is being exposed by the new short-cut path.  Anything which adds delay
seems to make the issue go away.  Dave, does anything ring a bell?

As for the proposed I_DIRTY_TIME fix, I think it'd be a good idea to
merge it.  It fixes a clear brekage regardless of this xfs issue.

Thanks.

-- 
tejun

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