From 66a98012324e1b63b15062ac95d1c92f0c43f6c0 Mon Sep 17 00:00:00 2001 From: Jeff Moyer Date: Tue, 4 Dec 2007 23:45:02 -0800 Subject: [PATCH] --- yaml --- r: 74581 b: refs/heads/master c: e00ba3dae077f54cfd2af42e939a618caa7a3bca h: refs/heads/master i: 74579: e352b06d09a2822cf2295374768c08d889ef69a9 v: v3 --- [refs] | 2 +- trunk/fs/aio.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) 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;