BUG: Reads issued past end of size with libaio

From: Shawn Lewis <shawnlewis_at_google.com>
Date: Wed, 14 May 2008 18:40:58 -0700

Hi,

This type of conf file is useful for testing disk cache speeds. But it
exposes an fio bug. The workaround is to use rw=randread and norandommap=1
(to avoid some cpu overhead).

With this conf file:

[hdc-cache_speed]
filename=/dev/hdc
rw=read
bs=64k
size=64k
ioengine=libaio
iodepth=8
runtime=10
bwavgtime=5000
time_based=1
direct=1
thread=1
ioscheduler=noop
write_iolog=cache_speed.log

we get this as an io_log (truncated):

fio version 2 iolog
/dev/hdc add
/dev/hdc open
/dev/hdc read 0 65536
/dev/hdc read 65536 65536
/dev/hdc read 131072 65536
/dev/hdc read 196608 65536
/dev/hdc read 262144 65536
/dev/hdc read 327680 65536
/dev/hdc read 393216 65536
/dev/hdc read 458752 65536
/dev/hdc close
/dev/hdc open
/dev/hdc read 0 65536
/dev/hdc read 65536 65536
/dev/hdc read 131072 65536
/dev/hdc read 196608 65536
/dev/hdc read 262144 65536
/dev/hdc read 327680 65536
/dev/hdc read 393216 65536
/dev/hdc read 458752 65536
/dev/hdc close
...

fio shouldn't write past 65536 because size=64k.

Sorry, I'm not working out the head fio tree right now, so this may already
be fixed, but I wanted to let you know just in case.

-Shawn
Received on Thu May 15 2008 - 03:40:58 CEST

This archive was generated by hypermail 2.2.0 : Thu May 15 2008 - 04:00:01 CEST