All of lore.kernel.org
 help / color / mirror / Atom feed
* fio environment var bug
@ 2018-06-12 18:11 Jeff Furlong
  2018-06-13  5:26 ` Tomohiro Kusumi
  0 siblings, 1 reply; 5+ messages in thread
From: Jeff Furlong @ 2018-06-12 18:11 UTC (permalink / raw)
  To: fio

Hi All,
There seems to be a bug while parsing environment variables when using client/server mode.  Consider the following:

# fio -version
fio-3.7-21-gab56

# fio --server=localhost&

# cat test.job
[test]
ioengine=libaio
direct=1
rw=randread
iodepth=${QD}
size=100%
bs=4k
filename=/dev/nvme0n1
runtime=5s

# QD=1 fio test.job
fio-3.7-21-gab56
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=320MiB/s,w=0KiB/s][r=81.9k,w=0 IOPS][eta 00m:00s]

# QD=1 fio --client=localhost test.job
be=0, 64-bit, os=Linux, arch=x86-64, fio=fio-3.7-21-gab56, flags=1
fio: failed parsing iodepth=${QD}
fio: job test dropped

I haven't deciphered where exactly the issue is in parse.c.  Any thoughts?  Thanks.

Regards,
Jeff


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: fio environment var bug
  2018-06-12 18:11 fio environment var bug Jeff Furlong
@ 2018-06-13  5:26 ` Tomohiro Kusumi
  2018-06-13 22:44   ` Jeff Furlong
  0 siblings, 1 reply; 5+ messages in thread
From: Tomohiro Kusumi @ 2018-06-13  5:26 UTC (permalink / raw)
  To: Jeff Furlong; +Cc: fio

Jeff Furlong <jeff.furlong@wdc.com>:
>
> Hi All,
> There seems to be a bug while parsing environment variables when using client/server mode.  Consider the following:
>
> # fio -version
> fio-3.7-21-gab56
>
> # fio --server=localhost&
>
> # cat test.job
> [test]
> ioengine=libaio
> direct=1
> rw=randread
> iodepth=${QD}
> size=100%
> bs=4k
> filename=/dev/nvme0n1
> runtime=5s
>
> # QD=1 fio test.job
> fio-3.7-21-gab56
> Starting 1 process
> Jobs: 1 (f=1): [r(1)][100.0%][r=320MiB/s,w=0KiB/s][r=81.9k,w=0 IOPS][eta 00m:00s]
>
> # QD=1 fio --client=localhost test.job
> be=0, 64-bit, os=Linux, arch=x86-64, fio=fio-3.7-21-gab56, flags=1
> fio: failed parsing iodepth=${QD}
> fio: job test dropped
>
> I haven't deciphered where exactly the issue is in parse.c.  Any thoughts?  Thanks.

Do you have QD=1 on server side ?
If not then your server probably failed to parse test.job contents
sent from client after socket is initialized.

>
> Regards,
> Jeff
>
> --
> To unsubscribe from this list: send the line "unsubscribe fio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: fio environment var bug
  2018-06-13  5:26 ` Tomohiro Kusumi
@ 2018-06-13 22:44   ` Jeff Furlong
  2018-06-14  7:41     ` Tomohiro Kusumi
  0 siblings, 1 reply; 5+ messages in thread
From: Jeff Furlong @ 2018-06-13 22:44 UTC (permalink / raw)
  To: Tomohiro Kusumi; +Cc: fio

>Do you have QD=1 on server side ?
>If not then your server probably failed to parse test.job contents sent from client after socket is initialized.

Thanks.  Now I see your point.  The correct way to specify an environment variable for client/server would be to specify at the server invocation time:

# QD=1  fio --server=localhost&

Then run the client normally:

# fio --client=localhost test.job

Regards,
Jeff



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: fio environment var bug
  2018-06-13 22:44   ` Jeff Furlong
@ 2018-06-14  7:41     ` Tomohiro Kusumi
  2018-06-14 17:43       ` Jeff Furlong
  0 siblings, 1 reply; 5+ messages in thread
From: Tomohiro Kusumi @ 2018-06-14  7:41 UTC (permalink / raw)
  To: Jeff Furlong; +Cc: fio

Jeff Furlong <jeff.furlong@wdc.com>:
>
> >Do you have QD=1 on server side ?
> >If not then your server probably failed to parse test.job contents sent from client after socket is initialized.
>
> Thanks.  Now I see your point.  The correct way to specify an environment variable for client/server would be to specify at the server invocation time:

Yes, that's the way it works, but as you mentioned I think this is a
bug (should be done on the client side).

>
> # QD=1  fio --server=localhost&
>
> Then run the client normally:
>
> # fio --client=localhost test.job
>
> Regards,
> Jeff
>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: fio environment var bug
  2018-06-14  7:41     ` Tomohiro Kusumi
@ 2018-06-14 17:43       ` Jeff Furlong
  0 siblings, 0 replies; 5+ messages in thread
From: Jeff Furlong @ 2018-06-14 17:43 UTC (permalink / raw)
  To: Tomohiro Kusumi; +Cc: fio

>> Thanks.  Now I see your point.  The correct way to specify an environment variable for client/server would be to specify at the server invocation time:

>Yes, that's the way it works, but as you mentioned I think this is a bug (should be done on the client side).

It would be more useful if the environment var could be changed on each client execution.  For example, if we change the $QD, currently we have to kill the server and relaunch the server with the new $QD.  If the client accepted the $QD, we could launch the server once and just specify each client execution with a different $QD.

Regards,
Jeff



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-06-14 17:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-12 18:11 fio environment var bug Jeff Furlong
2018-06-13  5:26 ` Tomohiro Kusumi
2018-06-13 22:44   ` Jeff Furlong
2018-06-14  7:41     ` Tomohiro Kusumi
2018-06-14 17:43       ` Jeff Furlong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.