android: use ashmem
[fio.git] / backend.c
index f48b43dc8f58c3794003e5fd98303a9dcb26e284..89ffee1277f5ad47f733b56e9bf5c86ad9b39fc8 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -1558,6 +1558,12 @@ reaped:
                fio_terminate_threads(TERMINATE_ALL);
 }
 
+static void do_usleep(unsigned int usecs)
+{
+       check_for_running_stats();
+       usleep(usecs);
+}
+
 /*
  * Main function for kicking off and reaping jobs, as needed.
  */
@@ -1736,7 +1742,7 @@ static void run_threads(void)
                        if (mtime_since_now(&this_start) > JOB_START_TIMEOUT)
                                break;
 
-                       usleep(100000);
+                       do_usleep(100000);
 
                        for (i = 0; i < this_jobs; i++) {
                                td = map[i];
@@ -1788,12 +1794,12 @@ static void run_threads(void)
                reap_threads(&nr_running, &t_rate, &m_rate);
 
                if (todo)
-                       usleep(100000);
+                       do_usleep(100000);
        }
 
        while (nr_running) {
                reap_threads(&nr_running, &t_rate, &m_rate);
-               usleep(10000);
+               do_usleep(10000);
        }
 
        fio_idle_prof_stop();
@@ -1889,6 +1895,7 @@ int fio_backend(void)
                return 1;
 
        set_genesis_time();
+       stat_init();
        create_disk_util_thread();
 
        cgroup_list = smalloc(sizeof(*cgroup_list));
@@ -1918,5 +1925,6 @@ int fio_backend(void)
        fio_mutex_remove(startup_mutex);
        fio_mutex_remove(writeout_mutex);
        fio_mutex_remove(disk_thread_mutex);
+       stat_exit();
        return exit_value;
 }