Flexible I/O Tester development
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Gavin Martin <gavin_martin@xyratex.com>
Cc: fio@vger.kernel.org
Subject: Re: Looping jobs from within the jobfile
Date: Fri, 22 Feb 2013 13:10:02 +0100	[thread overview]
Message-ID: <20130222121002.GV25617@kernel.dk> (raw)
In-Reply-To: <CANUChTyH7CxuKJMevxQpVu6d4M9bn17XUpshyjGEfsoHo6LQ9w@mail.gmail.com>

On Fri, Feb 22 2013, Gavin Martin wrote:
> Hi,
> 
> I'm trying to understand the "loops" feature.
> 
> I have jobfile that I would like to loop round a number of times:-
> 
> {jobfile.fio}
> [global]
> ioengine=libaio
> direct=1
> 
> [job1]
> rw=randrw
> rwmixread=70
> bsrange=4k-128k
> iodepth=4
> runtime=3m
> filename=/dev/sdm
> size=4G
> time_based
> offset=0
> 
> [job2]
> stonewall
> rw=write
> bs=512K
> size=12G
> filename=/dev/sdm
> iodepth=1
> timeout=5m
> offset=20G
> {/jobfile.fio}
> 
> So above I have a random read/write section followed by a sequential
> write section.  I would like to loop round this for x number of times,
> for example randrw, seqw, randrw, seqw, randrw, etc.  I've tried using
> the "loops=x" option in the global section, but all this does is loop
> each job before moving onto the next, at the moment it does randrw,
> randrw, seqw, seqw.
> 
> Along with the above I was hoping that with the run status group
> report at the end of the run, it would give the average of each of
> those runs with the received min and max values:-
> 
> Run status group 1 (all jobs):
>   WRITE: io=8192.0MB, aggrb=56333KB/s, minb=56333KB/s, maxb=56333KB/s,
> mint=148909msec, maxt=148909msec
> 
> but at the moment the "minb" and "maxb" have the same values.  Ideally
> it would give the max and min values for each of those loops of that
> particular job, along with the average.
> 
> Is this possible from within the jobfile?

That's not currently possible. loops=x just makes fio repeat the same
job section any number of times, and all iterations are included in the
output. So job1 would run x times, then job2 would run x times, because
of the stonewall between them.

If you want separate reporting and also iterations of x{job1,job2}
instead of x{job1} then x{job2}, then it probably is easier to just
script around that and loop around the fio invocation instead.

-- 
Jens Axboe


  reply	other threads:[~2013-02-22 12:11 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-22 11:46 Looping jobs from within the jobfile Gavin Martin
2013-02-22 12:10 ` Jens Axboe [this message]
2013-02-22 12:20   ` Gavin Martin
2013-02-22 13:38     ` Jens Axboe
2013-02-23  2:24 ` Peter Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130222121002.GV25617@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=fio@vger.kernel.org \
    --cc=gavin_martin@xyratex.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox