Re: Recent changes (master)

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

 



On 10/08/2014 07:52 AM, Andrey Kuzmin wrote:
> Recent libaio fix could be further strengthened with the following
> addition that addresses a latent tight loop bug on zero events being
> returned:
> 
> index 7c3a42a..7760fb8 100644
> --- a/engines/libaio.c
> +++ b/engines/libaio.c
> @@ -165,9 +165,9 @@ static int fio_libaio_getevents(struct thread_data
> *td, unsigned int min,
>                         r = io_getevents(ld->aio_ctx, actual_min,
>                                 max, ld->aio_events + events, lt);
>                 }
> -               if (r >= 0)
> +               if (r > 0)
>                         events += r;
> -               else if (r == -EAGAIN) {
> +               else if (r == 0 || r == -EAGAIN) {
>                         fio_libaio_commit(td);
>                         usleep(100);
>                 } else if (r != -EINTR)

This will break min == 0 being passed in, for the opportunistic check.
We don't want to commit/sleep for that case.

-- 
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