Re: Alter the order of checking time exceeded vs getting an io_u

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

 



On Mon, Jun 15 2009, Radha Ramachandran wrote:
> Hi,
> I was hitting a case where fio would loop for ever even though the
> runtime was exceeded if it had difficulty getting the io_u struct, so
> I suggest this change to the code so it wld not loop forever:

Looks sane, applied. Thanks!

> 
> >git diff
> diff --git a/fio.c b/fio.c
> index bb26062..4927f1c 100644
> --- a/fio.c
> +++ b/fio.c
> @@ -442,18 +442,17 @@ static void do_verify(struct thread_data *td)
>         while (!td->terminate) {
>                 int ret2, full;
> 
> -               io_u = __get_io_u(td);
> -               if (!io_u)
> -                       break;
> -
>                 update_tv_cache(td);
> 
>                 if (runtime_exceeded(td, &td->tv_cache)) {
> -                       put_io_u(td, io_u);
>                         td->terminate = 1;
>                         break;
>                 }
> 
> +               io_u = __get_io_u(td);
> +               if (!io_u)
> +                       break;
> +
>                 if (get_next_verify(td, io_u)) {
>                         put_io_u(td, io_u);
>                         break;
> @@ -580,18 +579,17 @@ static void do_io(struct thread_data *td)
>                 if (td->terminate)
>                         break;
> 
> -               io_u = get_io_u(td);
> -               if (!io_u)
> -                       break;
> -
>                 update_tv_cache(td);
> 
>                 if (runtime_exceeded(td, &td->tv_cache)) {
> -                       put_io_u(td, io_u);
>                         td->terminate = 1;
>                         break;
>                 }
> 
> +               io_u = get_io_u(td);
> +               if (!io_u)
> +                       break;
> +
>                 /*
>                  * Add verification end_io handler, if asked to verify
>                  * a previously written file.
> 
> 
> thanks
> -radha
> --
> To unsubscribe from this list: send the line "unsubscribe fio" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Jens Axboe

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

[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