summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2010-03-19 10:33:39 +0100
committerJens Axboe <jens.axboe@oracle.com>2010-03-19 10:33:39 +0100
commit1dec3e0787755c412b326619d63a24c58e7f4a6b (patch)
tree8c074d04a383bb1c4dd97e5d923830eba412f4cc
parent7c639b1495d2776afbf66f91accff1e6000aa8f0 (diff)
downloadfio-1dec3e0787755c412b326619d63a24c58e7f4a6b.tar.gz
fio-1dec3e0787755c412b326619d63a24c58e7f4a6b.tar.bz2
Optimize __get_io_u() for better code foot print
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r--io_u.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/io_u.c b/io_u.c
index a4bf0c08..afc90de0 100644
--- a/io_u.c
+++ b/io_u.c
@@ -888,14 +888,6 @@ again:
io_u->end_io = NULL;
}
- /*
- * We ran out, wait for async verify threads to finish and return one
- */
- if (!io_u && td->o.verify_async) {
- pthread_cond_wait(&td->free_cond, &td->io_u_lock);
- goto again;
- }
-
if (io_u) {
assert(io_u->flags & IO_U_F_FREE);
io_u->flags &= ~(IO_U_F_FREE | IO_U_F_FREE_DEF);
@@ -905,6 +897,13 @@ again:
flist_add(&io_u->list, &td->io_u_busylist);
td->cur_depth++;
io_u->flags |= IO_U_F_IN_CUR_DEPTH;
+ } else if (td->o.verify_async) {
+ /*
+ * We ran out, wait for async verify threads to finish and
+ * return one
+ */
+ pthread_cond_wait(&td->free_cond, &td->io_u_lock);
+ goto again;
}
td_io_u_unlock(td);