X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=backend.c;h=68540abb9a2c1bd80c346d311f94646b464e2ff9;hb=f302710c4b7dd09fa6beb61a983345b2eda2b8d4;hp=ac6ed3e45fc2c8cc319a6a614165214ae266464a;hpb=ae5888523480f094ce04375a45797e111273ab22;p=fio.git diff --git a/backend.c b/backend.c index ac6ed3e4..68540abb 100644 --- a/backend.c +++ b/backend.c @@ -53,6 +53,7 @@ #include "lib/getrusage.h" #include "idletime.h" #include "err.h" +#include "lib/tp.h" static pthread_t disk_util_thread; static struct fio_mutex *disk_thread_mutex; @@ -1443,6 +1444,9 @@ static void *thread_main(void *data) goto err; } + if (td->flags & TD_F_COMPRESS_LOG) + tp_init(&td->tp_data); + fio_verify_init(td); fio_gettime(&td->epoch, NULL); @@ -1524,6 +1528,9 @@ static void *thread_main(void *data) fio_writeout_logs(td); + if (td->flags & TD_F_COMPRESS_LOG) + tp_exit(&td->tp_data); + if (o->exec_postrun) exec_string(o, o->exec_postrun, (const char *)"postrun"); @@ -2020,9 +2027,13 @@ int fio_backend(void) return 0; if (write_bw_log) { - setup_log(&agg_io_log[DDIR_READ], 0, IO_LOG_TYPE_BW, 0); - setup_log(&agg_io_log[DDIR_WRITE], 0, IO_LOG_TYPE_BW, 0); - setup_log(&agg_io_log[DDIR_TRIM], 0, IO_LOG_TYPE_BW, 0); + struct log_params p = { + .log_type = IO_LOG_TYPE_BW, + }; + + setup_log(&agg_io_log[DDIR_READ], &p, "agg-read_bw.log"); + setup_log(&agg_io_log[DDIR_WRITE], &p, "agg-write_bw.log"); + setup_log(&agg_io_log[DDIR_TRIM], &p, "agg-trim_bw.log"); } startup_mutex = fio_mutex_init(FIO_MUTEX_LOCKED); @@ -2041,11 +2052,14 @@ int fio_backend(void) if (!fio_abort) { show_run_stats(); if (write_bw_log) { - __finish_log(agg_io_log[DDIR_READ], "agg-read_bw.log"); - __finish_log(agg_io_log[DDIR_WRITE], - "agg-write_bw.log"); - __finish_log(agg_io_log[DDIR_TRIM], - "agg-write_bw.log"); + int i; + + for (i = 0; i < DDIR_RWDIR_CNT; i++) { + struct io_log *log = agg_io_log[i]; + + flush_log(log); + free_log(log); + } } }