From 64769bc5b2e5951666b074dfda9d1689ea9561d2 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Tue, 29 Aug 2023 22:59:15 +0300 Subject: [PATCH] util/u_trace: count number of tracepoints Signed-off-by: Lionel Landwerlin Acked-by: Emma Anholt Part-of: --- src/util/perf/u_trace.c | 5 +++++ src/util/perf/u_trace.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/util/perf/u_trace.c b/src/util/perf/u_trace.c index 006cc78..fba62f5 100644 --- a/src/util/perf/u_trace.c +++ b/src/util/perf/u_trace.c @@ -668,6 +668,7 @@ void u_trace_init(struct u_trace *ut, struct u_trace_context *utctx) { ut->utctx = utctx; + ut->num_traces = 0; list_inithead(&ut->trace_chunks); } @@ -678,6 +679,7 @@ u_trace_fini(struct u_trace *ut) * have been flushed to the trace-context. */ free_chunks(&ut->trace_chunks); + ut->num_traces = 0; } bool @@ -773,6 +775,7 @@ u_trace_clone_append(struct u_trace_iterator begin_it, } } + into->num_traces += to_copy; to_chunk->num_traces += to_copy; from_idx += to_copy; @@ -843,6 +846,7 @@ u_trace_appendv(struct u_trace *ut, .tp = tp, .payload = payload, }; + ut->num_traces++; return payload; } @@ -865,4 +869,5 @@ u_trace_flush(struct u_trace *ut, void *flush_data, bool free_data) /* transfer batch's log chunks to context: */ list_splicetail(&ut->trace_chunks, &ut->utctx->flushed_trace_chunks); list_inithead(&ut->trace_chunks); + ut->num_traces = 0; } diff --git a/src/util/perf/u_trace.h b/src/util/perf/u_trace.h index 32b95f5..b61b7cf 100644 --- a/src/util/perf/u_trace.h +++ b/src/util/perf/u_trace.h @@ -217,6 +217,8 @@ struct u_trace_context { struct u_trace { struct u_trace_context *utctx; + uint32_t num_traces; + struct list_head trace_chunks; /* list of unflushed trace chunks in fifo order */ }; -- 2.7.4