lkml.org 
[lkml]   [2015]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inodes
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@fromorbit.com


\
 
 \ /
  Last update: 2015-08-24 11:21    [W:2.701 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site