> -----Original Message-----
> From: Jens Axboe [mailto:[email protected]]
> Sent: Tuesday, 16 December, 2014 11:43 PM
...
> > (gdb) print td->tv_cache
> > $51 = {tv_sec = 1099511, tv_usec = 641885}
> ^^^^^^^
>
> This is the key. If this multiplication overflows:
>
> usecs = (t * inv_cycles_per_usec) / 16777216UL;
>
> then usecs is 2^64/2^24, which is 1099511627776. Divide that by 10^6 to
> get seconds, and that is 1099511... I initially thought this was a buggy
> backwards timer, but it's just this overflow. Fix:
>
> http://git.kernel.dk/?p=fio.git;a=commit;h=b3fa625b38a638cd1783e9fdcac1b95
> 8e37e48fa
Good find. The 64-bit RDTSC won't wrap for over 10 years, but
that multiplication must be stealing too many bits.
fio --debug=time shows this:
time 28459 inv_cycles_per_usec=8397
Is anything in the linux kernel susceptible to a similar problem?
Anyway, I detached gdb and hit ^C to terminate fio, confirming that
the 64-bit counters are working - it's reporting more than 4B IOs
for devices now:
* total IOs: 572,018,473,400
* 15 devices: 37,703,868,929 (example)
* (1 device (sdi) is lower, but fio gave up on it after IO errors)
drive_b: (groupid=0, jobs=224): err= 5 (file:io_u.c:1534, func=io_u error,
error=Input/output error): pid=6510: Wed Dec 17 10:30:44 2014
read : io=272760GB, bw=4102.9MB/s, iops=8402.7K, runt=68076097msec
cpu : usr=0.78%, sys=37.24%, ctx=401925558097, majf=0, minf=2927
IO depths : 1=0.0%, 2=0.1%, 4=0.1%, 8=0.3%, 16=0.4%, 32=0.6%, >=64=0.3%
submit : 0=0.0%, 4=5.8%, 8=0.6%, 16=3.4%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=0.0%, 8=0.0%, 16=5.4%, 32=0.1%, 64=0.1%, >=64=0.1%
issued : total=r=572018473400/w=0/d=0, short=r=0/w=0/d=0,
drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=96
Run status group 0 (all jobs):
READ: io=272760GB, aggrb=4102.9MB/s, minb=4102.9MB/s, maxb=4102.9MB/s,
mint=68076097msec, maxt=68076097msec
Disk stats (read/write):
sdb: ios=37703868929/0, merge=0/0, ticks=68454382/0, in_queue=129910494,
util=100.00%
sdc: ios=37712378473/0, merge=0/0, ticks=77399794/0, in_queue=119899831,
util=100.00%
sdd: ios=37707967388/0, merge=0/0, ticks=75432313/0, in_queue=187703422,
util=100.00%
sde: ios=37698239552/0, merge=0/0, ticks=68544916/0, in_queue=179384002,
util=100.00%
sdf: ios=37716299315/0, merge=0/0, ticks=84593922/0, in_queue=199961411,
util=100.00%
sdg: ios=37699099568/0, merge=0/0, ticks=75257519/0, in_queue=175502802,
util=100.00%
sdh: ios=37701332642/0, merge=0/0, ticks=74572660/0, in_queue=192088623,
util=100.00%
sdi: ios= 2218175796/0, merge=0/0, ticks=2303073961/0, in_queue=2306683517,
util=86.68%
sdj: ios=37707221334/0, merge=0/0, ticks=78701197/0, in_queue=180717546,
util=100.00%
sdk: ios=37698155959/0, merge=0/0, ticks=77357378/0, in_queue=187489699,
util=100.00%
sdl: ios=37692589221/0, merge=0/0, ticks=75227670/0, in_queue=186780751,
util=100.00%
sdm: ios=37692481205/0, merge=0/0, ticks=73056936/0, in_queue=187474248,
util=100.00%
sdn: ios=37695237426/0, merge=0/0, ticks=77270328/0, in_queue=191649153,
util=100.00%
sdo: ios=37688493826/0, merge=0/0, ticks=72485901/0, in_queue=182735443,
util=100.00%
sdp: ios=39851839290/0, merge=0/0, ticks=48724465/0, in_queue=139505151,
util=100.00%
sdq: ios=39835069533/0, merge=0/0, ticks=44151762/0, in_queue=136927387,
util=100.00%
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html