Recent changes (master)
The following changes since commit a1b006fe1cd3aa7e1b567f55e5a4c827d54f7c41:
engines/libaio: fix new aio poll API (2018-11-19 19:41:53 -0700)
are available in the git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to e65ef9593436f0f62df366f506f7c4d318b5cd71:
engines/libaio: fallback to old io_setup() system call (2018-11-21 05:53:38 -0700)
----------------------------------------------------------------
Jens Axboe (4):
Kill "No I/O performed by ..." message
backend: initialize io engine before io_u buffers engines/libaio: add support for user mapped iocbs engines/libaio: fallback to old io_setup() system call
backend.c | 25 ++---------- engines/libaio.c | 118 +++++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 105 insertions(+), 38 deletions(-)
---
Diff of recent changes:
backend.c +4 -21
@@ -1542,7 +1542,7 @@ static void *thread_main(void *data)struct sk_out *sk_out = fd->sk_out;uint64_t bytes_done[DDIR_RWDIR_CNT ];int deadlock_loop_cnt; -bool clear_state, did_some_io; +bool clear_state;int ret;sk_out_assign (sk_out);
@@ -1698,6 +1698,9 @@ static void *thread_main(void *data)if (!init_iolog (td)) goto err; +if (td_io_init (td)) + goto err; +if (init_io_u (td)) goto err;
@@ -1728,9 +1731,6 @@ static void *thread_main(void *data)if (!o->create_serialize &&setup_files (td)) goto err; -if (td_io_init (td)) - goto err; -if (!init_random_map (td)) goto err;
@@ -1763,7 +1763,6 @@ static void *thread_main(void *data)memset (bytes_done,0 ,sizeof (bytes_done)); clear_state = false; - did_some_io = false;while (keep_running (td)) {uint64_t verify_bytes;
@@ -1841,9 +1840,6 @@ static void *thread_main(void *data) td_ioengine_flagged(td, FIO_UNIDIR))continue ; -if (ddir_rw_sum (bytes_done)) - did_some_io = true; -clear_io_state (td,0 );fio_gettime (&td->start,NULL );
@@ -1865,19 +1861,6 @@ static void *thread_main(void *data) }/* -* If td ended up with no I/O when it should have had, -* then something went wrong unless FIO_NOIO or FIO_DISKLESSIO. -* (Are we not missing other flags that can be ignored ?) -*/ -if (!td->error && (td->o.size || td->o.io_size) && - !ddir_rw_sum (bytes_done) && !did_some_io && !td->o.create_only && - !(td_ioengine_flagged (td,FIO_NOIO ) || -td_ioengine_flagged (td,FIO_DISKLESSIO ))) -log_err ("%s: No I/O performed by %s, " -"perhaps try --debug=io option for details?\n" , - td->o.name, td->io_ops->name); - -/* * Acquire this lock if we were doing overlap checking in * offload mode so that we don't clean up this job while * another thread is checking its io_u's for overlap
engines/libaio.c +101 -17
219 lines not on this page · raw message