For sq_poll case, "ret" is not initialized or cleared/set. In this way, output of this test program is incorrect and we can not even stop this program by pressing CTRL-C. Reset "ret" to zero in each submission/completion round, and assign "ret" to "this_reap". Signed-off-by: Ziyang Zhang <ZiyangZhang@xxxxxxxxxxxxxxxxx> --- tools/io_uring/io_uring-bench.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/io_uring/io_uring-bench.c b/tools/io_uring/io_uring-bench.c index 7703f0118385..3c0feb48f6f6 100644 --- a/tools/io_uring/io_uring-bench.c +++ b/tools/io_uring/io_uring-bench.c @@ -289,6 +289,7 @@ static void *submitter_fn(void *data) do { int to_wait, to_submit, this_reap, to_prep; + ret = 0; if (!prepped && s->inflight < DEPTH) { to_prep = min(DEPTH - s->inflight, BATCH_SUBMIT); prepped = prep_more_ios(s, to_prep); @@ -334,6 +335,8 @@ static void *submitter_fn(void *data) this_reap += r; } while (sq_thread_poll && this_reap < to_wait); s->reaps += this_reap; + if (sq_thread_poll) + ret = this_reap; if (ret >= 0) { if (!ret) { -- 2.18.4