All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Dmitry Antipov <dantipov@cloudlinux.com>, fio@vger.kernel.org
Subject: Re: Weird errors initializing I/O engines
Date: Fri, 10 Sep 2021 12:38:43 -0600	[thread overview]
Message-ID: <214f8c63-849a-a476-225f-531916239b92@kernel.dk> (raw)
In-Reply-To: <7c937a02-0349-7b17-2bcd-89cf32c0f371@cloudlinux.com>

On 9/9/21 4:11 AM, Dmitry Antipov wrote:
> As of git head at 25425cb4a5531b1b3f26eba4e49866d944e0f1fb, I'm observing
> weird errors initializing all simple I/O engines except 'vsync'. Example:
> 
> $ ./fio --ioengine=sync --create_on_open=1 --time_based --runtime=10 --numjobs=1 --rw=read --bs=1k --size=1M --name=test-read-1k --filename=fio-1M
> test-read-1k: (g=0): rw=read, bs=(R) 1024B-1024B, (W) 1024B-1024B, (T) 1024B-1024B, ioengine=sync, iodepth=1
> fio-3.28-11-g2542-dirty
> Starting 1 process
> fio: pid=13034, err=5/file:backend.c:479, func=full resid, error=Input/output error
> 
> test-read-1k: (groupid=0, jobs=1): err= 5 (file:backend.c:479, func=full resid, error=Input/output error): pid=13034: Thu Sep  9 13:04:51 2021
>    cpu          : usr=0.00%, sys=0.00%, ctx=0, majf=0, minf=16
>    IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
>       submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
>       complete  : 0=50.0%, 4=50.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
>       issued rwts: total=1,0,0,0 short=0,0,0,0 dropped=0,0,0,0
>       latency   : target=0, window=0, percentile=100.00%, depth=1
> 
> Run status group 0 (all jobs):
> 
> Disk stats (read/write):
>    sda: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=0.00%
> 
> The same thing happens with 'psync', 'pvsync' and 'pvsync2', but 'vsync' seems to work:
> 
> $ ./fio --ioengine=vsync --create_on_open=1 --time_based --runtime=10 --numjobs=1 --rw=read --bs=1k --size=1M --name=test-read-1k --filename=fio-1M
> test-read-1k: (g=0): rw=read, bs=(R) 1024B-1024B, (W) 1024B-1024B, (T) 1024B-1024B, ioengine=vsync, iodepth=1
> fio-3.28-11-g2542-dirty
> Starting 1 process
> Jobs: 1 (f=1): [R(1)][100.0%][r=627MiB/s][r=642k IOPS][eta 00m:00s]
> test-read-1k: (groupid=0, jobs=1): err= 0: pid=13105: Thu Sep  9 13:06:54 2021
>    read: IOPS=627k, BW=612MiB/s (642MB/s)(6122MiB/10001msec)
>      clat (nsec): min=423, max=67325, avg=821.73, stdev=1436.87
>       lat (nsec): min=477, max=67448, avg=896.28, stdev=1492.29
>      clat percentiles (nsec):
>       |  1.00th=[  434],  5.00th=[  442], 10.00th=[  450], 20.00th=[  458],
>       | 30.00th=[  466], 40.00th=[  474], 50.00th=[  490], 60.00th=[  516],
>       | 70.00th=[  740], 80.00th=[ 1096], 90.00th=[ 1240], 95.00th=[ 1656],
>       | 99.00th=[ 3184], 99.50th=[13888], 99.90th=[21632], 99.95th=[23936],
>       | 99.99th=[29824]
>     bw (  KiB/s): min=408604, max=650082, per=99.91%, avg=626337.05, stdev=53380.19, samples=19
>     iops        : min=408604, max=650082, avg=626337.47, stdev=53380.34, samples=19
>    lat (nsec)   : 500=55.10%, 750=15.20%, 1000=5.43%
>    lat (usec)   : 2=21.09%, 4=2.40%, 10=0.24%, 20=0.39%, 50=0.14%
>    lat (usec)   : 100=0.01%
>    cpu          : usr=60.91%, sys=38.47%, ctx=43, majf=0, minf=13
>    IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
>       submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
>       complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
>       issued rwts: total=6269388,0,0,0 short=0,0,0,0 dropped=0,0,0,0
>       latency   : target=0, window=0, percentile=100.00%, depth=1
> 
> Run status group 0 (all jobs):
>     READ: bw=612MiB/s (642MB/s), 612MiB/s-612MiB/s (642MB/s-642MB/s), io=6122MiB (6420MB), run=10001-10001msec
> 
> Disk stats (read/write):
>    sda: ios=0/64, merge=0/29, ticks=0/149, in_queue=156, util=0.19%
> 
> BTW, should 'fio-1M' file be empty after running the workload?
> 
> I'm running Fedora 34, recently updated to kernel version 5.13.14, and
> seems has no issues with underlying filesystem where FIO is running.

Looks like an artifact of using create_on_open and depends on if the
engine uses lseek() to set the offset. I'll take a look in a bit,
for now I'd just recommend not using create_on_open.

-- 
Jens Axboe


  reply	other threads:[~2021-09-10 18:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-09 10:11 Weird errors initializing I/O engines Dmitry Antipov
2021-09-10 18:38 ` Jens Axboe [this message]
2021-09-13  7:50   ` Dmitry Antipov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=214f8c63-849a-a476-225f-531916239b92@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=dantipov@cloudlinux.com \
    --cc=fio@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.