Messages in this thread Patch in this message | | | Date | Tue, 13 Dec 2011 15:44:45 -0600 | From | Dave Kleikamp <> | Subject | [PATCH] AIO: Don't plug the I/O queue in do_io_submit() |
| |
Asynchronous I/O latency to a solid-state disk greatly increased between the 2.6.32 and 3.0 kernels. By removing the plug from do_io_submit(), we observed a 34% improvement in the I/O latency.
Unfortunately, at this level, we don't know if the request is to a rotating disk or not.
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com> Cc: linux-aio@kvack.org Cc: Chris Mason <chris.mason@oracle.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jeff Moyer <jmoyer@redhat.com>
diff --git a/fs/aio.c b/fs/aio.c index 78c514c..d131a2c 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1696,7 +1696,6 @@ long do_io_submit(aio_context_t ctx_id, long nr, struct kioctx *ctx; long ret = 0; int i = 0; - struct blk_plug plug; struct kiocb_batch batch; if (unlikely(nr < 0)) @@ -1716,8 +1715,6 @@ long do_io_submit(aio_context_t ctx_id, long nr, kiocb_batch_init(&batch, nr); - blk_start_plug(&plug); - /* * AKPM: should this return a partial result if some of the IOs were * successfully submitted? @@ -1740,7 +1737,6 @@ long do_io_submit(aio_context_t ctx_id, long nr, if (ret) break; } - blk_finish_plug(&plug); kiocb_batch_free(&batch); put_ioctx(ctx);
| |