Thanks, it works. But can u explain more about how it works? I thought we may change stat.c..... 2016-12-01 23:12 GMT+08:00 Jens Axboe <axboe@xxxxxxxxx>: > On 12/01/2016 03:03 AM, Jaze Lee wrote: >> Hello, >> Dose this issue can be fixed? Or the only method is to use offload >> to workaround. > > Can you try the below patch? We simply need to make sure that we always > regrow, when we enter an idle state. The logic was a little warped, the > below is cleaner. > > > diff --git a/backend.c b/backend.c > index 8616fc2..ac71521 100644 > --- a/backend.c > +++ b/backend.c > @@ -441,11 +441,8 @@ static int wait_for_completions(struct thread_data *td, struct timeval *time) > int min_evts = 0; > int ret; > > - if (td->flags & TD_F_REGROW_LOGS) { > - ret = io_u_quiesce(td); > - regrow_logs(td); > - return ret; > - } > + if (td->flags & TD_F_REGROW_LOGS) > + return io_u_quiesce(td); > > /* > * if the queue is full, we MUST reap at least 1 event > diff --git a/io_u.c b/io_u.c > index 428d4b7..7420629 100644 > --- a/io_u.c > +++ b/io_u.c > @@ -653,6 +653,9 @@ int io_u_quiesce(struct thread_data *td) > completed += ret; > } > > + if (td->flags & TD_F_REGROW_LOGS) > + regrow_logs(td); > + > return completed; > } > > > -- > 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