The following changes since commit 1836be5d99c9362f1e2b39206c95270f19cb7faa: fix hang when BLKTRACESETUP fails and "-o -" is used (2024-06-12 14:45:58 -0600) are available in the Git repository at: git://git.kernel.dk/blktrace.git master for you to fetch changes up to f49e7ded6405bcecd10846a614f40061ca6301c8: iowatcher: Calculate ios_in_flight per trace (2024-10-08 07:40:39 -0600) ---------------------------------------------------------------- Igor Pylypiv (1): iowatcher: Calculate ios_in_flight per trace iowatcher/blkparse.c | 13 ++++++------- iowatcher/blkparse.h | 1 + 2 files changed, 7 insertions(+), 7 deletions(-) --- Diff of recent changes: diff --git a/iowatcher/blkparse.c b/iowatcher/blkparse.c index 6203854..0518083 100644 --- a/iowatcher/blkparse.c +++ b/iowatcher/blkparse.c @@ -41,7 +41,6 @@ #define IO_HASH_TABLE_BITS 11 #define IO_HASH_TABLE_SIZE (1 << IO_HASH_TABLE_BITS) static struct list_head io_hash_table[IO_HASH_TABLE_SIZE]; -static u64 ios_in_flight = 0; #define PROCESS_HASH_TABLE_BITS 7 #define PROCESS_HASH_TABLE_SIZE (1 << PROCESS_HASH_TABLE_BITS) @@ -1037,8 +1036,8 @@ void add_pending_io(struct trace *trace, struct graph_line_data *gld) return; } if (action == __BLK_TA_REQUEUE) { - if (ios_in_flight > 0) - ios_in_flight--; + if (trace->ios_in_flight > 0) + trace->ios_in_flight--; return; } if (action != __BLK_TA_ISSUE) @@ -1054,10 +1053,10 @@ void add_pending_io(struct trace *trace, struct graph_line_data *gld) } account_io: - ios_in_flight++; + trace->ios_in_flight++; seconds = SECONDS(io->time); - gld->data[seconds].sum += ios_in_flight; + gld->data[seconds].sum += trace->ios_in_flight; gld->data[seconds].count++; avg = (double)gld->data[seconds].sum / gld->data[seconds].count; @@ -1088,8 +1087,8 @@ void add_completed_io(struct trace *trace, if (!pio) return; - if (ios_in_flight > 0) - ios_in_flight--; + if (trace->ios_in_flight > 0) + trace->ios_in_flight--; if (io->time >= pio->dispatch_time) { latency = io->time - pio->dispatch_time; latency_gld->data[seconds].sum += latency; diff --git a/iowatcher/blkparse.h b/iowatcher/blkparse.h index fce9d01..f828763 100644 --- a/iowatcher/blkparse.h +++ b/iowatcher/blkparse.h @@ -57,6 +57,7 @@ struct trace { int mpstat_fd; int mpstat_seconds; int mpstat_num_cpus; + u64 ios_in_flight; char *fio_start; char *fio_cur;