Re: fio assert

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

 



On 3 November 2016 at 01:58, Jaze Lee <jazeltq@xxxxxxxxx> wrote:
> Is there some news for this bug ?
>
> 2016-11-02 11:50 GMT+08:00 Jaze Lee <jazeltq@xxxxxxxxx>:
>> I found this is not related with rbd engine. If use libaio, and test
>> raw device. It will also happen.
>> the fio script is
>>
>> [global]
>> ioengine=libaio
>> filename=/dev/sda
>> direct=1
>> group_reporting
>> iodepth=32
>> thread
>>
>> [fio_iops_test]
>> description=fio_iops_test
>> runtime=600
>> bs=4K
>> rw=randread
>> write_lat_log=cpuiops
>> rate_iops=2000

Can you make sure that you keep the fio mailing list CC'd on your
mails rather than just replying to me directly? I'm just another fio
user like you...

I too can reproduce the problem with a slightly modified version of
your job file:
[fio_iops_test]
ioengine=libaio
direct=1
filename=/dev/nullb0
iodepth=2
bs=4K
rw=read
write_lat_log=/dev/null
rate_iops=2000

Within a second or two of running it the following assert is printed:
fio: stat.c:2004: get_cur_log: Assertion `iolog->pending->nr_samples <
iolog->pending->max_samples' failed.

Doing any of the following stops the assertion from triggering:
setting the iodepth to 1, removing the write_lat_log parameter,
removing the rate_iops parameter or adding the io_submit_mode=offload
parameter.

The problem seems to be due to the rate limiting somehow forcing iolog
growth pressure but there is an inability to grow the iolog at the
point we notice we need more room within stats. Normally the iolog
growing can be deferred until next submission but I guess when you
have to average over the samples in it (so as to work out the write
latency for a given period) this is an issue because the logging areas
aren't prepared for the change in size.

You could hack the fio code to force a bigger default iolog size so it
doesn't have to grow it later but a better way would be to use the
io_submit_mode=offload parameter
(https://github.com/axboe/fio/blob/fio-2.15/HOWTO#L888 ) which
decouples the submission from the completion/logging. Perhaps fio
could put up a warning suggesting its use if you use rate_iops and one
of the parameters that force averaging together but there could be
other ways of triggering the same issue...

-- 
Sitsofe | http://sucs.org/~sits/
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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