Re: [PATCH v2 1/1] fio: reset more counters when ramp time has elapsed

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

 




On 2018-10-18 4:42 p.m., vincentfu@xxxxxxxxx wrote:
> From: Vincent Fu <vincent.fu@xxxxxxx>
> 
> Currently,
> 
> fio --name=test --ramp_time=2 --time_based=1 --runtime=2s --size=1M
> 
> will produce an output line like
> 
>   IO depths    : 1=184.7%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%

I reproduced this with fio d5dbacf662b1cc3fb09b5cd70b236ab98d1c0dbe :

[sboisvert@GT480:fio]$ ./fio --name=test --ramp_time=2 --time_based=1 --runtime=2s --size=1M | grep "IO depths"
  IO depths    : 1=184.1%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%

> 
> 184.7% appears because the denominator used in the IO depth calculation
> is reset at the conclusion of ramp_time but the numerator is not.
> Latency and other IO depth statistics also include data from IOs
> completed during ramp time. This patch resets these counters when ramp
> time is over.
> ---
>  time.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/time.c b/time.c
> index c8876829..19999699 100644
> --- a/time.c
> +++ b/time.c
> @@ -118,6 +118,7 @@ bool ramp_time_over(struct thread_data *td)
>  	if (utime_since_now(&td->epoch) >= td->o.ramp_time) {
>  		td->ramp_time_over = true;
>  		reset_all_stats(td);
> +		reset_io_stats(td);
>  		td_set_runstate(td, TD_RAMP);
>  
>  		/*
> 


With d5dbacf662b1cc3fb09b5cd70b236ab98d1c0dbe + this patch :

[sboisvert@GT480:fio]$ ./fio --name=test --ramp_time=2 --time_based=1 --runtime=2s --size=1M | grep "IO depths"
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%

Tested-by: Sebastien Boisvert <sboisvert@xxxxxxxxx>


Thanks



[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