xfs
[Top] [All Lists]

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

To: Eryu Guan <eguan@xxxxxxxxxx>
Subject: Re: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inodes
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Mon, 24 Aug 2015 18:55:49 +1000
Cc: Jens Axboe <axboe@xxxxxxxxx>, Jan Kara <jack@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, axboe@xxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, Jan Kara <jack@xxxxxxxx>, Tejun Heo <tj@xxxxxxxxxx>, kernel-team@xxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20150824083437.GP17933@xxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20150818174718.GA15739@xxxxxxxxxxxxxxx> <20150818195439.GB15739@xxxxxxxxxxxxxxx> <20150818215611.GD3902@dastard> <20150821102053.GL17933@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20150822003025.GS3902@dastard> <20150822044609.GM17933@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20150824011123.GA714@dastard> <20150824031816.GO17933@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20150824062425.GU3902@dastard> <20150824083437.GP17933@xxxxxxxxxxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Mon, Aug 24, 2015 at 04:34:37PM +0800, Eryu Guan wrote:
> On Mon, Aug 24, 2015 at 04:24:25PM +1000, Dave Chinner wrote:
> > On Mon, Aug 24, 2015 at 11:18:16AM +0800, Eryu Guan wrote:
> > > On Mon, Aug 24, 2015 at 11:11:23AM +1000, Dave Chinner wrote:
> > > > 
> > > > Eryu, can you change the way you run the event trace to be:
> > > > 
> > > > $ sudo trace-cmd <options> -o <outfile location> ./check <test options>
> > > > 
> > > > rather than running the trace as a background operation elsewhere?
> > > > Maybe that will give better results.
> [snip]
> > Anyway, Eryum long and short of it is that you don't need to worry
> > about testing all the different combinations - we now know that the
> > completion events are occurring, so let's focus on whether the sync
> > code is not waiting for them correctly. Can you trace the following
> > events:
> > 
> >     xfs_log_force
> >     xfs_setfilesize
> >     writeback_queue
> >     writeback_exec
> >     writeback_start
> >     writeback_queue_io
> >     writeback_written
> >     writeback_pages_written
> > 
> > basically I'm trying to see if we've got all the BDI events as we'd
> > expect then to be queued and run for sync, and when the ->sync_fs
> > call occurs during the sync process before shutdown and unmount...
> 
> I collected two versions of trace info with crc enabled.
> 
> http://128.199.137.77/writeback-crc/
> 
> This version traced the same events as previous runs.
> 
> http://128.199.137.77/writeback-crc-v2/
> 
> And this version only traced the events you listed above.

OK, I'll look into these later.

> And the results of other tests to check(all done with v4 xfs, with no
> tracepoints enabled):
> 
> > Other things to check (separately):
> >     - change godown to godown -f
> 
> Passed 100 loops.

Yup, I expected that from the last set of traces - the "-f" flag
triggers a log force before shutdown, and that flushes out
transactions that sync missed.

> >     - add a "sleep 5" before running godown after sync
> 
> Failed, if you need the trace info please let me know.

Expected, still nothing to flush transactions before shutdown.

> >     - add a "sleep 5; sync" before running godown
> 
> Passed 100 loops.

expected - sync flushed the transactions it missed on the first
pass.

Thanks for running these tests!

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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