* Timing information between I/Os in iolog replay
@ 2013-02-19 7:36 Alireza Haghdoost
2013-02-19 7:46 ` Jens Axboe
0 siblings, 1 reply; 2+ messages in thread
From: Alireza Haghdoost @ 2013-02-19 7:36 UTC (permalink / raw)
To: fio
Hi,
I am trying to understand how fio respect timing information between
consecutive IOs in a read_iolog job, However the logic is not very
clear for me , specially in the following function:
static int read_iolog2(struct thread_data *td, FILE *f)
{
...
r = sscanf(p, "%256s %256s %llu %u", fname, act, &offset,
&bytes);
...
if (!strcmp(act, "wait"))
rw = DDIR_WAIT;
...
if (rw == DDIR_WAIT) {
ipo->delay = offset;
...
queue_io_piece(td, ipo);
}
Here is my two questions about this function:
First, I can not see any "wait" command in a typical iolog file
(collected with write_iolog=str job option). Should I set special
parameter in job file to collect iolog with respect to IO timing
information.
Second, Why request offset assigned to ipo->delay ? I was thinking
that ipo->delay should get some timing value which represent
inter-submission time delay. However, In this case ipo->delay get LBA
offset which just a byte address in my point view.
Your input is highly appreciated,
Thanks
Alireza
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: Timing information between I/Os in iolog replay
2013-02-19 7:36 Timing information between I/Os in iolog replay Alireza Haghdoost
@ 2013-02-19 7:46 ` Jens Axboe
0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2013-02-19 7:46 UTC (permalink / raw)
To: Alireza Haghdoost; +Cc: fio
On Tue, Feb 19 2013, Alireza Haghdoost wrote:
> Hi,
>
> I am trying to understand how fio respect timing information between
> consecutive IOs in a read_iolog job, However the logic is not very
> clear for me , specially in the following function:
>
> static int read_iolog2(struct thread_data *td, FILE *f)
> {
> ...
> r = sscanf(p, "%256s %256s %llu %u", fname, act, &offset,
> &bytes);
> ...
> if (!strcmp(act, "wait"))
> rw = DDIR_WAIT;
> ...
> if (rw == DDIR_WAIT) {
> ipo->delay = offset;
> ...
> queue_io_piece(td, ipo);
> }
>
> Here is my two questions about this function:
> First, I can not see any "wait" command in a typical iolog file
> (collected with write_iolog=str job option). Should I set special
> parameter in job file to collect iolog with respect to IO timing
> information.
> Second, Why request offset assigned to ipo->delay ? I was thinking
> that ipo->delay should get some timing value which represent
> inter-submission time delay. However, In this case ipo->delay get LBA
> offset which just a byte address in my point view.
That is the format of a delay line, instead of an LBA it has a timing
parameter. Normally you don't have delays at all, it's only for replay
and record of blktraces that would be a factor.
--
Jens Axboe
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-02-19 7:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-19 7:36 Timing information between I/Os in iolog replay Alireza Haghdoost
2013-02-19 7:46 ` Jens Axboe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox