Commit:     41d10da3717409de33d5441f2f6d8f072ab3fbb6
Parent:     c17ac85504efec5f3a9b0c5b05bffd6f30e5b655
Author:     Jeff Moyer <[EMAIL PROTECTED]>
AuthorDate: Tue Oct 16 23:27:20 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Wed Oct 17 08:42:53 2007 -0700

    aio: account I/O wait time properly
    Some months back I proposed changing the schedule() call in
    read_events to an io_schedule():
    This was rejected as there are AIO operations that do not initiate
    disk I/O.  I've had another look at the problem, and the only AIO
    operation that will not initiate disk I/O is IOCB_CMD_NOOP.  However,
    this command isn't even wired up!
    Given that it doesn't work, and hasn't for *years*, I'm going to
    suggest again that we do proper I/O accounting when using AIO.
    Signed-off-by: Jeff Moyer <[EMAIL PROTECTED]>
    Acked-by: Zach Brown <[EMAIL PROTECTED]>
    Cc: Benjamin LaHaise <[EMAIL PROTECTED]>
    Cc: Suparna Bhattacharya <[EMAIL PROTECTED]>
    Cc: Badari Pulavarty <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
 fs/aio.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/aio.c b/fs/aio.c
index ea2e198..d02f43b 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -303,7 +303,7 @@ static void wait_for_all_aios(struct kioctx *ctx)
        set_task_state(tsk, TASK_UNINTERRUPTIBLE);
        while (ctx->reqs_active) {
-               schedule();
+               io_schedule();
                set_task_state(tsk, TASK_UNINTERRUPTIBLE);
@@ -323,7 +323,7 @@ ssize_t fastcall wait_on_sync_kiocb(struct kiocb *iocb)
                if (!iocb->ki_users)
-               schedule();
+               io_schedule();
        return iocb->ki_user_data;
@@ -1170,7 +1170,7 @@ retry:
                        ret = 0;
                        if (to.timed_out)       /* Only check after read evt */
-                       schedule();
+                       io_schedule();
                        if (signal_pending(tsk)) {
                                ret = -EINTR;
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to