Re: bssplit functionality seems broken in 2.13

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

 



On 09/15/2016 11:01 AM, Ryan Stiles wrote:
Good day,

We have automation that uses the "bssplit" function to get a wide
variety of IO patterns, I have noticed that in 2.13 (compiled with
no-shared-mem).  The bsssplit only takes the first variable, meaning:

bssplit=1k/50:128k/50

will yield a 100% 1k workload.

This is the workload:
[global]
random_generator=tausworthe64
direct=1
loops=1
ioengine=libaio
iodepth=16
group_reporting
filename=/dev/disk/by-uuid/27602b49-4a18-4dca-a896-e2fc86746015

[workload]
rw=randread
bssplit=1k/50:128k/50

What's causing this issue is the use of the 64-bit random generator.
There's a bug in the bssplit calculation code that overflows for that
case. I've pushed a fix out for it:

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

With that fix, you should see better behavior. Note that to truly have a
50/50 split for this, you'd want to set 'norandommap' as well. Otherwise
fio will fit the block size to avoid overlapped IO. When that happens,
you'll have 50% 1k random reads, but the other 50% will be between 1k
and 128k. If a 128k random read would overlap at the generated offset,
fio would adjust it down.

--
Jens Axboe

--
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