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 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html