public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: "Raz Ben-Jehuda(caro)" <raziebe@gmail.com>
Cc: inux-aio@kvack.org, linux-kernel@vger.kernel.org, bcrl@kvack.org,
	zach.brown@oracle.com
Subject: Re: linux io_submit syscall duration
Date: Wed, 15 Nov 2006 10:47:27 +0100	[thread overview]
Message-ID: <20061115094727.GJ23770@kernel.dk> (raw)
In-Reply-To: <5d96567b0611150143n1a7cc16dgea39fba748a2de7f@mail.gmail.com>


(don't top post and don't drop the cc list!)

On Wed, Nov 15 2006, Raz Ben-Jehuda(caro) wrote:
> first thank you from your quick reply.
> 
> I looked and what I found is :
> "io_submit() taking a long time to return ?" from 2006-07-14.

Subject is "async I/O seems to be blocking on 2.6.15" and the posting is
from 2006-11-3. I said about a week ago, not 4 months.

> 1.  It is NOT the first IO. already took care for that in my test.

That was a different problem.

> 2.  The test uses block device and does not walk through a file system.

So would not apply.

> 3.  Taking a look at the code, it seems that the main problem is the fact
>     that in io_submit_one all the pending requests are being rerun.
> 
>    io_submit_one()
>   {
>    ...
>        if (!list_empty(&ctx->run_list)) {
>                /* drain the run list */
>              while (__aio_run_iocbs(ctx))
>                      ;
>      }
>   ...
>   }
> 
>  This code was put in remarks.
> the second is in:
>  aio_run_iocb()
>   ...
>    current->io_wait = &iocb->ki_wait;
>    if ( iocb->ki_retried >  1)
>        ret = retry(iocb);
>    else{
>        ret = -EIOCBRETRY;
>        kiocbSetKicked(iocb);
>    }
>     current->io_wait = NULL;
>  ....
> 
>  With these fixes io_submit delay reduced to zero ms.
> 
> I would appreciate your review on these fixes.

Post a patch so it can be reviewed.

-- 
Jens Axboe


      parent reply	other threads:[~2006-11-15  9:48 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-15  7:39 linux io_submit syscall duration Raz Ben-Jehuda(caro)
2006-11-15  7:47 ` Jens Axboe
     [not found]   ` <5d96567b0611150143n1a7cc16dgea39fba748a2de7f@mail.gmail.com>
2006-11-15  9:47     ` Jens Axboe [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061115094727.GJ23770@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=bcrl@kvack.org \
    --cc=inux-aio@kvack.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=raziebe@gmail.com \
    --cc=zach.brown@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox