RE: [PATCH v1] fio: Append "filecreate/filestat/filedelete" to 'readwrite='

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

 



> I think having this option will be confusing and lead to users trying to 
> run a job with --ioengine=psync --rw=filecreate.

> However, I understand the confusion that arises when the file operation 
> ioengines are used. Might there be some other way to help? Perhaps the 
> ioengine could emit some sort of message? Or the documentation for the 
> file operation ioengines could be enhanced?

I created this patch because somebody sent me email to ask why rw string shows 'read' when he measured by filecreate engine. And more, users felt strange what does IOPS/BW for file operation mean? 
I think we can do option check at beginning. '--ioengine=filecreate' and '--rw=filecreate' must be paired. If not paired, emit error message and exit. How do you think?

Though FIO is designed for IO measurement originally, file operation performance is also regularly evaluated for file system. It is helpful if expand FIO to adapt to file operation benchmark.

Friendy

-----Original Message-----
From: Vincent Fu <vincentfu@xxxxxxxxx> 
Sent: Friday, November 18, 2022 11:05 PM
To: Su, Friendy <Friendy.Su@xxxxxxxx>; fio <fio@xxxxxxxxxxxxxxx>
Cc: Aoyama, Wataru (SGC) <Wataru.Aoyama@xxxxxxxx>; Kobayashi, Kento (SGC) <Kento.A.Kobayashi@xxxxxxxx>
Subject: Re: [PATCH v1] fio: Append "filecreate/filestat/filedelete" to 'readwrite='

On 11/15/22 03:39, Friendy.Su@xxxxxxxx wrote:
> Show correct file operation strings in log.
> 
> For file operation measurement, 'rw' field is set to 'read' in job file.
> The corresponding 'rw' in log is also 'read'. This makes user confused
> since file operation and IO read are totally different things.
> In this commit, add 3 new file operations to 'rw' field.
> 
> For implementation, TD_DDIR_FILECREATE/TD_DDIR_FILESTAT/TD_DDIR_FILEDELETE
> are added. Meanwhile, DDIR_FILE_OP is added to identify the file
> operation and IO operation. DDIR_FILE_OP is same value as
> DDIR_READ, then clat_stat[DDIR_FILE_READ] can be 'borrowed' for file
> operation statistics. Just set DDIR_FILE_OP_MASK when get io_ddir_name().
> This avoid big code change if add a new index to enum fio_ddir.
> 
> With this commit, user can explicitly specify the exact file operation
> in job file 'rw' field. 'rw' string and 'ddir' string in log is also
> correct.
> 
> Example:
> 
> $ fio   filestat-ioengine.fio
> t0: (g=0): rw=filestat, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=filestat, iodepth=1
> t1: (g=0): rw=filestat, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=filestat, iodepth=1
> fio-3.33
> Starting 2 threads
> 
> t0: (groupid=0, jobs=1): err= 0: pid=4744: Thu Nov 10 18:24:00 2022
>    file_operation: IOPS=20.0k, BW=78.1MiB/s (81.9MB/s)(80.0KiB/1msec)
>      clat (nsec): min=12645, max=29394, avg=13751.35, stdev=3690.55
>      clat percentiles (nsec):
>       |  1.00th=[12608],  5.00th=[12608], 10.00th=[12736], 20.00th=[12736],
>       | 30.00th=[12736], 40.00th=[12736], 50.00th=[12864], 60.00th=[12992],
>       | 70.00th=[12992], 80.00th=[13120], 90.00th=[13120], 95.00th=[13760],
>       | 99.00th=[29312], 99.50th=[29312], 99.90th=[29312], 99.95th=[29312],
>       | 99.99th=[29312]
> 
> Signed-off-by: friendy-su <friendy.su@xxxxxxxx>

<snip>

I think having this option will be confusing and lead to users trying to 
run a job with --ioengine=psync --rw=filecreate.

However, I understand the confusion that arises when the file operation 
ioengines are used. Might there be some other way to help? Perhaps the 
ioengine could emit some sort of message? Or the documentation for the 
file operation ioengines could be enhanced?

Vincent





[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