aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Kleikamp <dave.kleikamp@oracle.com>2011-12-15 22:44:45 +0100
committerMoyster <oysterized@gmail.com>2017-11-19 16:18:46 +0100
commit6e24dffcbacea0c2537ffad3f165fa06d14ddc10 (patch)
tree53e3e1797c769726c4f602c57dab9cbc95c9cbe8
parenta69a6d3b998143407295884c2dba110e3f7cceaf (diff)
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. Change-Id: I7101df956473ed9fd5dcff18e473dd93b688a5c1 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>
-rw-r--r--fs/aio.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/fs/aio.c b/fs/aio.c
index 02a0f6be2..ebca5ab5f 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1165,7 +1165,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;
if (unlikely(nr < 0))
return -EINVAL;
@@ -1182,8 +1181,6 @@ long do_io_submit(aio_context_t ctx_id, long nr,
return -EINVAL;
}
- blk_start_plug(&plug);
-
/*
* AKPM: should this return a partial result if some of the IOs were
* successfully submitted?
@@ -1206,8 +1203,6 @@ long do_io_submit(aio_context_t ctx_id, long nr,
if (ret)
break;
}
- blk_finish_plug(&plug);
-
put_ioctx(ctx);
return i ? i : ret;
}