On Fri, Oct 19, 2018 at 08:32:52PM +0200, Sergio Lopez wrote:
> Yes, I ran some random read and random write tests with fio. The Guest
> is Linux, mainly because its virtio implementation is more mature. Next
> week I'll try with OpenBSD.

Here are the (long due) numbers with an OpenBSD 6.4 Guest. While on
Linux all tests performed better with kickfd, this time randread gets a
~10% improvement, while randwrite numbers are ~5% worse.

Please keep in mind that those are just the inital numbers. There's
still a lot of optimizations that can be applied on both the vmd side
(specially on writes, with things like request merging and asynchronous
I/O) and the Guest drivers (OpenBSD performance is roughly half of
Linux's, which indicates there's plenty of room for improvement).

In any case, I'd like to know if you think this kickfd feature is
something worth pursuing, or should I move to something else.

Cheers,
Sergio.


========================
| OpenBSD 6.4 + kickfd |
========================

 - randread

# fio --clocksource=clock_gettime --name=randread --rw=randread --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=1 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
fio-3.12-17-g0fcbc0
Starting 1 thread
Jobs: 1 (f=1): [r(1)][100.0%][r=24.5MiB/s][r=6278 IOPS][eta 00m:00s]
randread: (groupid=0, jobs=1): err= 0: pid=245800000: Fri Nov 23 09:59:54 2018
  read: IOPS=6120, BW=23.9MiB/s (25.1MB/s)(1024MiB/42831msec)
    clat (usec): min=10, max=10126, avg=127.91, stdev=36.28
     lat (usec): min=19, max=10134, avg=136.25, stdev=36.58
    clat percentiles (usec):
     |  1.00th=[  110],  5.00th=[  112], 10.00th=[  113], 20.00th=[  119],
     | 30.00th=[  121], 40.00th=[  126], 50.00th=[  129], 60.00th=[  131],
     | 70.00th=[  131], 80.00th=[  133], 90.00th=[  135], 95.00th=[  145],
     | 99.00th=[  190], 99.50th=[  208], 99.90th=[  255], 99.95th=[  318],
     | 99.99th=[  766]
   bw (  KiB/s): min= 2669, max=24660, per=61.01%, avg=14936.35, stdev=7445.54, 
samples=75
   iops        : min=  667, max= 6165, avg=3733.80, stdev=1861.45, samples=75
  lat (usec)   : 20=0.03%, 50=0.01%, 100=0.01%, 250=99.84%, 500=0.08%
  lat (usec)   : 750=0.02%, 1000=0.01%
  lat (msec)   : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%
  cpu          : usr=0.69%, sys=41.15%, ctx=261996, majf=1, minf=3
  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=262144,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=23.9MiB/s (25.1MB/s), 23.9MiB/s-23.9MiB/s (25.1MB/s-25.1MB/s), 
io=1024MiB (1074MB), run=42831-42831msec


# ./fio --clocksource=clock_gettime --name=randread --rw=randread --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=2 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
...
fio-3.12-17-g0fcbc0
Starting 2 threads
Jobs: 1 (f=1): [r(1),_(1)][98.8%][r=23.2MiB/s][r=5947 IOPS][eta 00m:01s]
randread: (groupid=0, jobs=2): err= 0: pid=1989935168: Fri Nov 23 10:03:27 2018
  read: IOPS=6366, BW=24.9MiB/s (26.1MB/s)(2048MiB/82356msec)
    clat (usec): min=10, max=1104.9k, avg=187.28, stdev=4505.64
     lat (usec): min=19, max=1104.9k, avg=221.12, stdev=5417.17
    clat percentiles (usec):
     |  1.00th=[    20],  5.00th=[   110], 10.00th=[   113], 20.00th=[   118],
     | 30.00th=[   119], 40.00th=[   120], 50.00th=[   121], 60.00th=[   122],
     | 70.00th=[   127], 80.00th=[   133], 90.00th=[   135], 95.00th=[   135],
     | 99.00th=[   184], 99.50th=[   221], 99.90th=[   537], 99.95th=[   906],
     | 99.99th=[225444]
   bw (  KiB/s): min=  110, max=24515, per=18.61%, avg=4738.70, stdev=5790.82, 
samples=242
   iops        : min=   27, max= 6128, avg=1184.30, stdev=1447.69, samples=242
  lat (usec)   : 20=1.53%, 50=1.88%, 100=0.04%, 250=96.25%, 500=0.17%
  lat (usec)   : 750=0.07%, 1000=0.01%
  lat (msec)   : 2=0.01%, 4=0.01%, 20=0.01%, 50=0.02%, 100=0.01%
  lat (msec)   : 250=0.02%, 500=0.01%, 750=0.01%
  cpu          : usr=0.32%, sys=25.10%, ctx=638508, majf=0, minf=4
  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=524288,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=24.9MiB/s (26.1MB/s), 24.9MiB/s-24.9MiB/s (26.1MB/s-26.1MB/s), 
io=2048MiB (2147MB), run=82356-82356msec


# ./fio --clocksource=clock_gettime --name=randread --rw=randread --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=4 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
...
fio-3.12-17-g0fcbc0
Starting 4 threads
Jobs: 1 (f=1): [_(2),r(1),_(1)][98.2%][r=21.4MiB/s][r=5488 IOPS][eta 00m:03s]
randread: (groupid=0, jobs=4): err= 0: pid=-805060032: Fri Nov 23 10:07:09 2018
  read: IOPS=6266, BW=24.5MiB/s (25.7MB/s)(4096MiB/167342msec)
    clat (usec): min=10, max=3119.3k, avg=341.60, stdev=13523.41
     lat (usec): min=19, max=3119.3k, avg=409.38, stdev=14924.32
    clat percentiles (usec):
     |  1.00th=[    20],  5.00th=[    21], 10.00th=[   111], 20.00th=[   117],
     | 30.00th=[   120], 40.00th=[   121], 50.00th=[   121], 60.00th=[   122],
     | 70.00th=[   123], 80.00th=[   133], 90.00th=[   135], 95.00th=[   137],
     | 99.00th=[   478], 99.50th=[   523], 99.90th=[   742], 99.95th=[ 23987],
     | 99.99th=[700449]
   bw (  KiB/s): min=    3, max=16050, per=2.45%, avg=614.96, stdev=1501.01, 
samples=742
   iops        : min=    0, max= 4012, avg=153.37, stdev=375.28, samples=742
  lat (usec)   : 20=1.97%, 50=5.62%, 100=0.16%, 250=90.54%, 500=1.15%
  lat (usec)   : 750=0.45%, 1000=0.04%
  lat (msec)   : 2=0.01%, 10=0.01%, 20=0.01%, 50=0.01%, 100=0.01%
  lat (msec)   : 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  cpu          : usr=0.21%, sys=14.03%, ctx=1393669, majf=0, minf=6
  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=1048576,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=24.5MiB/s (25.7MB/s), 24.5MiB/s-24.5MiB/s (25.7MB/s-25.7MB/s), 
io=4096MiB (4295MB), run=167342-167342msec


 - randwrite

# ./fio --clocksource=clock_gettime --name=randwrite --rw=randwrite --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=1 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randwrite: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
fio-3.12-17-g0fcbc0
Starting 1 thread
Jobs: 1 (f=1): [w(1)][100.0%][w=12.9MiB/s][w=3291 IOPS][eta 00m:00s]
randwrite: (groupid=0, jobs=1): err= 0: pid=1318987840: Fri Nov 23 10:11:10 2018
  write: IOPS=3532, BW=13.8MiB/s (14.5MB/s)(1024MiB/74204msec)
    clat (usec): min=116, max=383707, avg=208.57, stdev=1131.99
     lat (usec): min=125, max=383715, avg=216.99, stdev=1132.04
    clat percentiles (usec):
     |  1.00th=[  124],  5.00th=[  127], 10.00th=[  130], 20.00th=[  133],
     | 30.00th=[  135], 40.00th=[  139], 50.00th=[  141], 60.00th=[  145],
     | 70.00th=[  153], 80.00th=[  265], 90.00th=[  273], 95.00th=[  277],
     | 99.00th=[  379], 99.50th=[  562], 99.90th=[ 9372], 99.95th=[ 9503],
     | 99.99th=[ 9896]
   bw (  KiB/s): min= 3056, max=17819, per=95.00%, avg=13423.97, stdev=2726.80, 
samples=148
   iops        : min=  764, max= 4454, avg=3355.61, stdev=681.70, samples=148
  lat (usec)   : 250=75.90%, 500=23.51%, 750=0.13%, 1000=0.04%
  lat (msec)   : 2=0.01%, 4=0.03%, 10=0.38%, 20=0.01%, 500=0.01%
  cpu          : usr=0.48%, sys=33.40%, ctx=263585, majf=0, minf=2
  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=0,262144,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):
  WRITE: bw=13.8MiB/s (14.5MB/s), 13.8MiB/s-13.8MiB/s (14.5MB/s-14.5MB/s), 
io=1024MiB (1074MB), run=74204-74204msec


# ./fio --clocksource=clock_gettime --name=randwrite --rw=randwrite --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=2 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randwrite: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
...
fio-3.12-17-g0fcbc0
Starting 2 threads
Jobs: 1 (f=1): [_(1),w(1)][100.0%][w=14.8MiB/s][w=3799 IOPS][eta 00m:00s]
randwrite: (groupid=0, jobs=2): err= 0: pid=-135734720: Fri Nov 23 10:16:36 2018
  write: IOPS=3447, BW=13.5MiB/s (14.1MB/s)(2048MiB/152097msec)
    clat (usec): min=15, max=429974, avg=505.90, stdev=1912.65
     lat (usec): min=24, max=429982, avg=517.04, stdev=1916.41
    clat percentiles (usec):
     |  1.00th=[   37],  5.00th=[  124], 10.00th=[  128], 20.00th=[  133],
     | 30.00th=[  135], 40.00th=[  139], 50.00th=[  326], 60.00th=[  338],
     | 70.00th=[  400], 80.00th=[  619], 90.00th=[ 1012], 95.00th=[ 1418],
     | 99.00th=[ 2999], 99.50th=[ 9110], 99.90th=[18482], 99.95th=[19268],
     | 99.99th=[20317]
   bw (  KiB/s): min= 2128, max=15030, per=47.84%, avg=6595.79, stdev=1414.59, 
samples=604
   iops        : min=  532, max= 3757, avg=1648.59, stdev=353.63, samples=604
  lat (usec)   : 20=0.01%, 50=3.19%, 100=0.38%, 250=42.04%, 500=27.28%
  lat (usec)   : 750=9.69%, 1000=6.81%
  lat (msec)   : 2=8.46%, 4=1.36%, 10=0.59%, 20=0.18%, 50=0.01%
  lat (msec)   : 100=0.01%, 500=0.01%
  cpu          : usr=0.29%, sys=22.79%, ctx=1151553, majf=0, minf=2
  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=0,524288,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):
  WRITE: bw=13.5MiB/s (14.1MB/s), 13.5MiB/s-13.5MiB/s (14.1MB/s-14.1MB/s), 
io=2048MiB (2147MB), run=152097-152097msec


# ./fio --clocksource=clock_gettime --name=randwrite --rw=randwrite --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=4 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randwrite: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
...
fio-3.12-17-g0fcbc0
Starting 4 threads
Jobs: 1 (f=1): [_(2),w(1),_(1)][100.0%][w=11.1MiB/s][w=2846 IOPS][eta 00m:00s]
randwrite: (groupid=0, jobs=4): err= 0: pid=-1510592448: Fri Nov 23 10:22:24 
2018
  write: IOPS=3284, BW=12.8MiB/s (13.5MB/s)(4096MiB/319238msec)
    clat (usec): min=15, max=504371, avg=1032.12, stdev=3293.43
     lat (usec): min=23, max=512815, avg=1088.02, stdev=3381.10
    clat percentiles (usec):
     |  1.00th=[   36],  5.00th=[  125], 10.00th=[  133], 20.00th=[  137],
     | 30.00th=[  396], 40.00th=[  486], 50.00th=[  644], 60.00th=[  807],
     | 70.00th=[  996], 80.00th=[ 1287], 90.00th=[ 1844], 95.00th=[ 2573],
     | 99.00th=[ 9110], 99.50th=[17695], 99.90th=[28967], 99.95th=[34341],
     | 99.99th=[71828]
   bw (  KiB/s): min=  138, max= 7895, per=23.84%, avg=3132.35, stdev=890.04, 
samples=2541
   iops        : min=   34, max= 1973, avg=782.71, stdev=222.50, samples=2541
  lat (usec)   : 20=0.02%, 50=3.47%, 100=0.53%, 250=22.41%, 500=14.76%
  lat (usec)   : 750=15.11%, 1000=14.03%
  lat (msec)   : 2=21.20%, 4=6.21%, 10=1.52%, 20=0.49%, 50=0.23%
  lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%
  cpu          : usr=0.15%, sys=12.27%, ctx=3122891, majf=0, minf=2
  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=0,1048576,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):
  WRITE: bw=12.8MiB/s (13.5MB/s), 12.8MiB/s-12.8MiB/s (13.5MB/s-13.5MB/s), 
io=4096MiB (4295MB), run=319238-319238msec


===========================
| OpenBSD 6.4 + NO kickfd |
===========================

 - randread

# ./fio --clocksource=clock_gettime --name=randread --rw=randread --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=1 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
fio-3.12-17-g0fcbc0
Starting 1 thread
Jobs: 1 (f=1): [r(1)][100.0%][r=22.2MiB/s][r=5689 IOPS][eta 00m:00s]
randread: (groupid=0, jobs=1): err= 0: pid=759733312: Fri Nov 23 10:28:56 2018
  read: IOPS=5411, BW=21.1MiB/s (22.2MB/s)(1024MiB/48440msec)
    clat (usec): min=10, max=986, avg=149.36, stdev=87.15
     lat (usec): min=18, max=994, avg=157.53, stdev=87.24
    clat percentiles (usec):
     |  1.00th=[   77],  5.00th=[   78], 10.00th=[   79], 20.00th=[   86],
     | 30.00th=[   87], 40.00th=[   88], 50.00th=[   88], 60.00th=[   90],
     | 70.00th=[  253], 80.00th=[  260], 90.00th=[  269], 95.00th=[  273],
     | 99.00th=[  318], 99.50th=[  351], 99.90th=[  416], 99.95th=[  482],
     | 99.99th=[  766]
   bw (  KiB/s): min=19734, max=22110, per=94.89%, avg=20540.47, stdev=478.77, 
samples=96
   iops        : min= 4933, max= 5527, avg=5134.75, stdev=119.67, samples=96
  lat (usec)   : 20=0.03%, 50=0.01%, 100=63.54%, 250=2.01%, 500=34.37%
  lat (usec)   : 750=0.03%, 1000=0.01%
  cpu          : usr=0.60%, sys=77.27%, ctx=2596, majf=6, minf=3
  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=262144,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=21.1MiB/s (22.2MB/s), 21.1MiB/s-21.1MiB/s (22.2MB/s-22.2MB/s), 
io=1024MiB (1074MB), run=48440-48440msec


# ./fio --clocksource=clock_gettime --name=randread --rw=randread --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=2 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting   
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
...
fio-3.12-17-g0fcbc0
Starting 2 threads
Jobs: 1 (f=1): [_(1),r(1)][97.9%][r=21.6MiB/s][r=5528 IOPS][eta 00m:02s]
randread: (groupid=0, jobs=2): err= 0: pid=-140517824: Fri Nov 23 10:31:39 2018
  read: IOPS=5589, BW=21.8MiB/s (22.9MB/s)(2048MiB/93797msec)
    clat (usec): min=10, max=154982, avg=283.67, stdev=2193.12
     lat (usec): min=18, max=154991, avg=299.75, stdev=2253.64
    clat percentiles (usec):
     |  1.00th=[   20],  5.00th=[   77], 10.00th=[   79], 20.00th=[   86],
     | 30.00th=[   87], 40.00th=[   88], 50.00th=[   89], 60.00th=[   90],
     | 70.00th=[  253], 80.00th=[  258], 90.00th=[  269], 95.00th=[  273],
     | 99.00th=[  330], 99.50th=[12256], 99.90th=[24249], 99.95th=[24249],
     | 99.99th=[94897]
   bw (  KiB/s): min= 5051, max=23174, per=47.90%, avg=10708.88, stdev=1767.97, 
samples=372
   iops        : min= 1262, max= 5793, avg=2676.88, stdev=442.01, samples=372
  lat (usec)   : 20=1.47%, 50=2.04%, 100=62.66%, 250=1.32%, 500=31.79%
  lat (usec)   : 750=0.05%, 1000=0.01%
  lat (msec)   : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.27%, 50=0.36%
  lat (msec)   : 100=0.01%, 250=0.01%
  cpu          : usr=0.41%, sys=38.78%, ctx=5087, majf=0, minf=4
  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=524288,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=21.8MiB/s (22.9MB/s), 21.8MiB/s-21.8MiB/s (22.9MB/s-22.9MB/s), 
io=2048MiB (2147MB), run=93797-93797msec


# ./fio --clocksource=clock_gettime --name=randread --rw=randread --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=4 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
...
fio-3.12-17-g0fcbc0
Starting 4 threads
Jobs: 3 (f=3): [r(1),_(1),r(2)][99.0%][r=23.9MiB/s][r=6115 IOPS][eta 00m:02s]
randread: (groupid=0, jobs=4): err= 0: pid=-318713792: Fri Nov 23 10:35:12 2018
  read: IOPS=5503, BW=21.5MiB/s (22.5MB/s)(4096MiB/190525msec)
    clat (usec): min=10, max=332015, avg=574.78, stdev=5598.22
     lat (usec): min=18, max=332023, avg=608.63, stdev=5764.17
    clat percentiles (usec):
     |  1.00th=[    19],  5.00th=[    21], 10.00th=[    79], 20.00th=[    86],
     | 30.00th=[    88], 40.00th=[    89], 50.00th=[    89], 60.00th=[    90],
     | 70.00th=[   255], 80.00th=[   260], 90.00th=[   269], 95.00th=[   273],
     | 99.00th=[   586], 99.50th=[ 47973], 99.90th=[ 71828], 99.95th=[ 71828],
     | 99.99th=[166724]
   bw (  KiB/s): min= 1782, max=10923, per=24.19%, avg=5325.29, stdev=1150.90, 
samples=1514
   iops        : min=  445, max= 2730, avg=1330.96, stdev=287.72, samples=1514
  lat (usec)   : 20=2.48%, 50=5.45%, 100=58.13%, 250=1.19%, 500=31.43%
  lat (usec)   : 750=0.55%, 1000=0.04%
  lat (msec)   : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%, 50=0.29%
  lat (msec)   : 100=0.39%, 250=0.03%, 500=0.01%
  cpu          : usr=0.17%, sys=19.49%, ctx=9866, majf=0, minf=6
  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=1048576,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=21.5MiB/s (22.5MB/s), 21.5MiB/s-21.5MiB/s (22.5MB/s-22.5MB/s), 
io=4096MiB (4295MB), run=190525-190525msec


 - randwrite

# ./fio --clocksource=clock_gettime --name=randwrite --rw=randwrite --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=1 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randwrite: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
fio-3.12-17-g0fcbc0
Starting 1 thread
Jobs: 1 (f=1): [w(1)][100.0%][w=16.9MiB/s][w=4322 IOPS][eta 00m:00s]
randwrite: (groupid=0, jobs=1): err= 0: pid=1861118016: Fri Nov 23 10:40:57 2018
  write: IOPS=3746, BW=14.6MiB/s (15.3MB/s)(1024MiB/69972msec)
    clat (usec): min=119, max=19223, avg=231.25, stdev=564.33
     lat (usec): min=127, max=19231, avg=239.64, stdev=564.38
    clat percentiles (usec):
     |  1.00th=[  125],  5.00th=[  127], 10.00th=[  131], 20.00th=[  135],
     | 30.00th=[  137], 40.00th=[  139], 50.00th=[  143], 60.00th=[  147],
     | 70.00th=[  285], 80.00th=[  289], 90.00th=[  310], 95.00th=[  322],
     | 99.00th=[  461], 99.50th=[  709], 99.90th=[ 9503], 99.95th=[ 9634],
     | 99.99th=[ 9896]
   bw (  KiB/s): min= 9642, max=17950, per=95.15%, avg=14258.51, stdev=2772.35, 
samples=139
   iops        : min= 2410, max= 4487, avg=3564.25, stdev=693.12, samples=139
  lat (usec)   : 250=65.41%, 500=33.77%, 750=0.33%, 1000=0.05%
  lat (msec)   : 2=0.02%, 4=0.04%, 10=0.39%, 20=0.01%
  cpu          : usr=0.76%, sys=78.02%, ctx=3507, majf=0, minf=2
  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=0,262144,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):
  WRITE: bw=14.6MiB/s (15.3MB/s), 14.6MiB/s-14.6MiB/s (15.3MB/s-15.3MB/s), 
io=1024MiB (1074MB), run=69972-69972msec


# ./fio --clocksource=clock_gettime --name=randwrite --rw=randwrite --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=2 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randwrite: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
...
fio-3.12-17-g0fcbc0
Starting 2 threads
Jobs: 1 (f=1): [_(1),w(1)][99.3%][w=16.9MiB/s][w=4325 IOPS][eta 00m:01s]
randwrite: (groupid=0, jobs=2): err= 0: pid=1742875200: Fri Nov 23 10:44:00 2018
  write: IOPS=3726, BW=14.6MiB/s (15.3MB/s)(2048MiB/140709msec)
    clat (usec): min=60, max=173332, avg=461.77, stdev=2803.68
     lat (usec): min=67, max=173346, avg=477.14, stdev=2837.11
    clat percentiles (usec):
     |  1.00th=[    76],  5.00th=[   126], 10.00th=[   129], 20.00th=[   135],
     | 30.00th=[   137], 40.00th=[   139], 50.00th=[   143], 60.00th=[   147],
     | 70.00th=[   285], 80.00th=[   289], 90.00th=[   297], 95.00th=[   322],
     | 99.00th=[ 12125], 99.50th=[ 23987], 99.90th=[ 28705], 99.95th=[ 38011],
     | 99.99th=[107480]
   bw (  KiB/s): min= 2885, max=18075, per=47.39%, avg=7063.41, stdev=1745.48, 
samples=559
   iops        : min=  721, max= 4518, avg=1765.48, stdev=436.35, samples=559
  lat (usec)   : 100=4.07%, 250=61.93%, 500=31.78%, 750=0.64%, 1000=0.17%
  lat (msec)   : 2=0.02%, 4=0.03%, 10=0.26%, 20=0.43%, 50=0.66%
  lat (msec)   : 100=0.01%, 250=0.01%
  cpu          : usr=0.33%, sys=39.13%, ctx=7613, majf=0, minf=2
  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=0,524288,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):
  WRITE: bw=14.6MiB/s (15.3MB/s), 14.6MiB/s-14.6MiB/s (15.3MB/s-15.3MB/s), 
io=2048MiB (2147MB), run=140709-140709msec


# ./fio --clocksource=clock_gettime --name=randwrite --rw=randwrite --bs=4k 
--filename=/dev/sd1c --size=1g --numjobs=4 --ioengine=sync --iodepth=1 
--direct=0 --group_reporting
fio: this platform does not support process shared mutexes, forcing use of 
threads. Use the 'thread' option to get rid of this warning.
randwrite: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 
4096B-4096B, ioengine=sync, iodepth=1
...
fio-3.12-17-g0fcbc0
Starting 4 threads
Jobs: 3 (f=3): [_(1),w(3)][100.0%][w=13.3MiB/s][w=3405 IOPS][eta 00m:00s]
randwrite: (groupid=0, jobs=4): err= 0: pid=-226515392: Fri Nov 23 10:49:27 2018
  write: IOPS=3577, BW=13.0MiB/s (14.7MB/s)(4096MiB/293102msec)
    clat (usec): min=60, max=356719, avg=961.03, stdev=6854.14
     lat (usec): min=67, max=356726, avg=997.48, stdev=6991.00
    clat percentiles (usec):
     |  1.00th=[    75],  5.00th=[    87], 10.00th=[   128], 20.00th=[   137],
     | 30.00th=[   139], 40.00th=[   139], 50.00th=[   143], 60.00th=[   149],
     | 70.00th=[   285], 80.00th=[   289], 90.00th=[   310], 95.00th=[   351],
     | 99.00th=[ 41157], 99.50th=[ 58459], 99.90th=[ 71828], 99.95th=[ 91751],
     | 99.99th=[177210]
   bw (  KiB/s): min=  746, max= 8118, per=23.52%, avg=3365.87, stdev=960.59, 
samples=2341
   iops        : min=  186, max= 2029, avg=841.10, stdev=240.15, samples=2341
  lat (usec)   : 100=6.97%, 250=58.31%, 500=30.98%, 750=1.38%, 1000=0.52%
  lat (msec)   : 2=0.12%, 4=0.12%, 10=0.19%, 20=0.05%, 50=0.80%
  lat (msec)   : 100=0.54%, 250=0.04%, 500=0.01%
  cpu          : usr=0.16%, sys=19.53%, ctx=17858, majf=0, minf=2
  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=0,1048576,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):
  WRITE: bw=13.0MiB/s (14.7MB/s), 13.0MiB/s-13.0MiB/s (14.7MB/s-14.7MB/s), 
io=4096MiB (4295MB), run=293102-293102msec

Reply via email to