RE: what is the sample logger doing when the buffer fills up?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Too late, I already put v2 patch through the process.  Some good, some bad.  The good is that no more dropped entries appear in the middle!  So for the iops and bw logs, I get results such as:

999, 293814, 0, 0
2000, 354857, 0, 0
3000, 383081, 0, 0
...
57000, 321946, 0, 0
58000, 321566, 0, 0
59000, 321596, 0, 0

The first sample is slightly off, but well within a reasonable tolerance.  The last sample is always missing (runtime=60s).

The bad is that the slat/clat/lat log is not doing averages any more, such as log_avg_msec=1000, but it's logging every value.

# fio --name=test_job --ioengine=libaio --direct=1 --rw=randread --iodepth=256 --size=100% --numjobs=4 --bs=4k --filename=/dev/nvme0n1 --group_reporting --write_bw_log=test_job --write_iops_log=test_job --write_lat_log=test_job --log_avg_msec=1000 --disable_lat=0 --disable_clat=0 --disable_slat=0 --runtime=60s --time_based --output=test_job

Regards,
Jeff

-----Original Message-----
From: Jens Axboe [mailto:axboe@xxxxxxxxx] 
Sent: Friday, July 22, 2016 11:37 AM
To: Jeff Furlong <jeff.furlong@xxxxxxxx>
Cc: Karl Cronburg <kcronbur@xxxxxxxxxx>; Matthew Eaton <m.eaton82@xxxxxxxxx>; fio@xxxxxxxxxxxxxxx
Subject: Re: what is the sample logger doing when the buffer fills up?

On 07/22/2016 09:55 AM, Jens Axboe wrote:
> Actually, I think it's missing one more thing. Try the attached v2 
> instead. Karl, you mentioned the iops = 0 trick. I don't think that's 
> the right fix, but I think you were getting close. I suspect that we 
> sometimes wake up a little early. Let's say we want to log the 6000 
> entry, but we wake up at 5999 instead. We add the regular stat sample, 
> and clear interval. But we don't add the averaged log entry, since the 
> time hasn't passed yet, we're missing 1 msec. Hence when we do wake up 
> 1msec later, spent/iops will be zero. You're continue adds the log 
> entry, but misses the data.

I'm feeling good about this change, so I committed it:

http://git.kernel.dk/cgit/fio/commit/?id=d454a205f81e1b122020cb4fb469c5a0c9d3195f

So just test current -git, would love to hear if it fixes the issue for you guys.

--
Jens Axboe

Western Digital Corporation (and its subsidiaries) E-mail Confidentiality Notice & Disclaimer:

This e-mail and any files transmitted with it may contain confidential or legally privileged information of WDC and/or its affiliates, and are intended solely for the use of the individual or entity to which they are addressed. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited. If you have received this e-mail in error, please notify the sender immediately and delete the e-mail in its entirety from your system.
��.n��������+%������w��{.n�������^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�

[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux