Skip to contentSkip to conversation

Collection of various fio fixes and extensions V2

PATCH In review [email protected] 2 participants 3 messages Feb 20, 2014 – Feb 21, 2014

lore
Share & tools
lore
#0 lore raw

cover Collection of various fio fixes and extensions V2

*Resend with hopefully non mangled patches*

Hi,
we adopted fio as a very good tool back at version 1.57.
It suited our needs in replacing iozone with a more modern and more capable benchmarking tool.

As it is usually we needed a few little extensions to support the old use cases we wanted to migrate to the new benchmark. Also we found a few issues in the fio code that we had to fix.

All that happened a long time back and we always wanted to cotribute our changes to the project which after a loooong legal process now is finally possible. To make things worse the code was affected by some bit rot due to that legal waiting time which in turn stalled me making it ready for submission again.

I'm happy that I finally found some time to update the patches to match to the current fio git. It passed my 18 test cases which are based on the examples delivered with fio new for the new functionality added.

Looking forward to your review,
Christian

The patch series includes:
[patch 1/9] fio: fix job clone mem leak
[patch 2/9] fio: allow general repeatability
[patch 3/9] fio: allow milliseconds on all time specifiers [patch 4/9] fio: provide an option for a startdelay range [patch 5/9] fio: add multi directory support
[patch 6/9] fio: allow combined output (default and terse) [patch 7/9] fio: flush log files on test end
[patch 8/9] fio: fix last block never being touched by random offsets [patch 9/9] fio: allow 0 as compress percentage

 backend.c     |    5 +--
 engines/net.c |    2 -
 eta.c         |   14 +++++----
 file.h        |    8 ++++-
 filesetup.c   |   70 +++++++++++++++++++++++++++++++++++++++++-----
 fio.1         |   48 +++++++++++++++++++++++--------
 fio.h         |    6 +++
 init.c        |   64 +++++++++++++++++++++++++++++++++++++-----
 io_u.c        |    2 -
 iolog.c       |    2 -
 iolog.h       |    1 
 options.c     |   88 ++++++++++++++++++++++++++++++++++++++++++++++------------
 options.h     |    2 +
 parse.c       |   48 ++++++++++++++++++++++---------
 stat.c        |   83 ++++++++++++++++++++++++++++++++++++++----------------
 time.c        |    2 -
 16 files changed, 349 insertions(+), 96 deletions(-)
#1 lore raw
Quoted 6 lines · On Thu, Feb 20 2014, [email protected] wrote:

*Resend with hopefully non mangled patches*

Hi,
we adopted fio as a very good tool back at version 1.57.
It suited our needs in replacing iozone with a more modern and more capable benchmarking tool.

Glad to hear it!

Quoted 10 lines

As it is usually we needed a few little extensions to support the old use cases we wanted to migrate to the new benchmark. Also we found a few issues in the fio code that we had to fix.

All that happened a long time back and we always wanted to cotribute our changes to the project which after a loooong legal process now is finally possible. To make things worse the code was affected by some bit rot due to that legal waiting time which in turn stalled me making it ready for submission again.

Quoted 3 lines

I'm happy that I finally found some time to update the patches to match to the current fio git. It passed my 18 test cases which are based on the examples delivered with fio new for the new functionality added.

I have applied all of the patches directly, except for 8/9. I fixed up the options issues I noted, and also fixed up rbd not being updated for the multidirectory support.

Thanks!

Signature · 1 line
Jens Axboe
#2 lore raw
Quoted 20 lines · Jens Axboe
Quoted 6 lines · On Thu, Feb 20 2014, [email protected] wrote:

*Resend with hopefully non mangled patches*

Hi,
we adopted fio as a very good tool back at version 1.57.
It suited our needs in replacing iozone with a more modern and more capable benchmarking tool.

Glad to hear it!

Quoted 10 lines

As it is usually we needed a few little extensions to support the old use cases we wanted to migrate to the new benchmark. Also we found a few issues in the fio code that we had to fix.

All that happened a long time back and we always wanted to cotribute our changes to the project which after a loooong legal process now is finally possible. To make things worse the code was affected by some bit rot due to that legal waiting time which in turn stalled me making it ready for submission again.

Quoted 8 lines
Quoted 3 lines

I'm happy that I finally found some time to update the patches to match to the current fio git. It passed my 18 test cases which are based on the examples delivered with fio new for the new functionality added.

I have applied all of the patches directly, except for 8/9. I fixed up the options issues I noted, and also fixed up rbd not being updated for the multidirectory support.

Great, thanks for fixing up these option files I missed - you definitely get a Good-Hearted-Maintainer Karma bonus for that :-)

I'll discuss patch #8 with the Author once again and give you our joint point of view on that later on.