Hi, I have tested fio with sync engine and my simple io app based on read in the same environment. fio is more efficient in the same testbed. I check the fio sync logic, but I didn't get the reason. Could anyone explain for me? How could fio utilize cpu to get better bandwidth? bandwidth result -- fio: 805.26 MBytes/sec: aggrb=824579KB/s my app: 555.00 MBytes/sec cpu usage -- fio: 39% my app: 26% my app logic -- thread 1: bufsiz = 1MB open(O_RDONLY) while ( (cl = read(fd, buf, bufsiz)) > 0) totallen += cl; thread 2: calculate the bandwidth every few seconds. fio -- 1) jobfile [global] ioengine=sync direct=0 bs=1M rw=read directory=/data/fio ioscheduler=deadline time_based runtime=60 [job] filename=readhg size=100g iodepth=16 2) test result job: (g=0): rw=read, bs=1M-1M/1M-1M, ioengine=sync, iodepth=16 fio 1.54 Starting 1 process Jobs: 1 (f=1): [R] [100.0% done] [777.1M/0K /s] [759 /0 iops] [eta 00m:00s] job: (groupid=0, jobs=1): err= 0: pid=15733 read : io=48316MB, bw=824579KB/s, iops=805 , runt= 60001msec clat (usec): min=826 , max=38326 , avg=1238.18, stdev=294.26 lat (usec): min=826 , max=38327 , avg=1238.47, stdev=294.25 bw (KB/s) : min=731136, max=976896, per=100.14%, avg=825702.05, stdev=51012.43 cpu : usr=0.43%, sys=43.70%, ctx=102003, majf=0, minf=280 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 r/w/d: total=48316/0/0, short=0/0/0 lat (usec): 1000=3.90% lat (msec): 2=95.95%, 4=0.06%, 10=0.09%, 20=0.01%, 50=0.01% Run status group 0 (all jobs): READ: io=48316MB, aggrb=824579KB/s, minb=844369KB/s, maxb=844369KB/s, mint=60001msec, maxt=60001msec Disk stats (read/write): sdb: ios=193022/22, merge=0/11, ticks=67943/112, in_queue=81657, util=80.52% notes -- each time before i do the test, the cache is cleaned. # sync; echo 3 > /proc/sys/vm/drop_caches Thanks. Yufei -- 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