diff --git a/[refs] b/[refs] index f5d0955cd1f7..be91a92946b0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e3c0ac04f980750a368f7cd5f1b8d1d2cdc1f735 +refs/heads/master: e00ba3dae077f54cfd2af42e939a618caa7a3bca diff --git a/trunk/fs/aio.c b/trunk/fs/aio.c index f12db415c0f6..9dec7d2d546e 100644 --- a/trunk/fs/aio.c +++ b/trunk/fs/aio.c @@ -1161,7 +1161,12 @@ static int read_events(struct kioctx *ctx, ret = 0; if (to.timed_out) /* Only check after read evt */ break; - io_schedule(); + /* Try to only show up in io wait if there are ops + * in flight */ + if (ctx->reqs_active) + io_schedule(); + else + schedule(); if (signal_pending(tsk)) { ret = -EINTR; break;