From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Stefan Hajnoczi" <stefanha@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>
Subject: [PATCH 16/20] trace: include qemu_loglevel_mask(LOG_TRACE) in guard
Date: Thu, 1 Oct 2026 16:12:24 +0100 [thread overview]
Message-ID: <20261001151228.3373747-17-berrange@redhat.com> (raw)
In-Reply-To: <20261001151228.3373747-1-berrange@redhat.com>
If emitting a trace event requires computation for the parameters
passed to the probe, the callers should guard that computation
with trace_event_by_state_backends(), which is a macro expanding
to the a check of the "TRACE_...._DSTATE()" expression. For the
log backend this should include a check for LOG_TRACE being
present in the configured log level.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
scripts/tracetool/backend/log.py | 3 ++-
tests/tracetool/all.h | 6 ++++--
tests/tracetool/log.h | 6 ++++--
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/scripts/tracetool/backend/log.py b/scripts/tracetool/backend/log.py
index 9e3e5046f5f..7834e5b0d40 100644
--- a/scripts/tracetool/backend/log.py
+++ b/scripts/tracetool/backend/log.py
@@ -42,7 +42,8 @@ def generate_h(event, group):
def generate_h_backend_dstate(event, group):
- out(' trace_event_get_state_dynamic_by_id(%(event_id)s) || \\',
+ out(' (trace_event_get_state_dynamic_by_id(%(event_id)s) && \\\n'
+ ' qemu_loglevel_mask(LOG_TRACE)) || \\',
event_id="TRACE_" + event.name.upper())
def generate_rs(event, group):
diff --git a/tests/tracetool/all.h b/tests/tracetool/all.h
index 41fa4d0e8a2..a2c2d40388e 100644
--- a/tests/tracetool/all.h
+++ b/tests/tracetool/all.h
@@ -45,7 +45,8 @@ void _simple_trace_test_wibble(void *context, int value);
#define TRACE_TEST_BLAH_BACKEND_DSTATE() ( \
QEMU_TEST_BLAH_ENABLED() || \
trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) || \
- trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) || \
+ (trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) && \
+ qemu_loglevel_mask(LOG_TRACE)) || \
trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) || \
trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) || \
tracepoint_enabled(qemu, test_blah) || \
@@ -74,7 +75,8 @@ static inline void trace_test_blah(void *context, const char *filename)
#define TRACE_TEST_WIBBLE_BACKEND_DSTATE() ( \
QEMU_TEST_WIBBLE_ENABLED() || \
trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) || \
- trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) || \
+ (trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) && \
+ qemu_loglevel_mask(LOG_TRACE)) || \
trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) || \
trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) || \
tracepoint_enabled(qemu, test_wibble) || \
diff --git a/tests/tracetool/log.h b/tests/tracetool/log.h
index ff510d54908..fe08277887f 100644
--- a/tests/tracetool/log.h
+++ b/tests/tracetool/log.h
@@ -16,7 +16,8 @@ extern uint8_t _TRACE_TEST_WIBBLE_DSTATE;
#define TRACE_TEST_BLAH_BACKEND_DSTATE() ( \
- trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) || \
+ (trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) && \
+ qemu_loglevel_mask(LOG_TRACE)) || \
false)
static inline void trace_test_blah(void *context, const char *filename)
@@ -31,7 +32,8 @@ static inline void trace_test_blah(void *context, const char *filename)
}
#define TRACE_TEST_WIBBLE_BACKEND_DSTATE() ( \
- trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) || \
+ (trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) && \
+ qemu_loglevel_mask(LOG_TRACE)) || \
false)
static inline void trace_test_wibble(void *context, int value)
--
2.55.0
next prev parent reply other threads:[~2026-10-01 15:14 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-01 15:12 [PATCH 00/20] trace: bugfixes, cleanups and optimizations Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 01/20] osdep: add 'ignore_value(x)' macro Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 02/20] trace: use 'ignore_value()' instead of a dummy variable Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 03/20] trace: fix handling of char** in UST backend Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 04/20] hw/xen: replace "long unsigned int" with "unsigned long " for dtrace Daniel P. Berrangé
2026-10-01 17:56 ` Philippe Mathieu-Daudé
2026-10-01 15:12 ` [PATCH 05/20] trace: block use of "long int" " Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 06/20] trace: drop unused trace_event_set_state_dynamic_init() Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 07/20] trace: remove obsolete references to vcpu property Daniel P. Berrangé
2026-10-01 17:58 ` Philippe Mathieu-Daudé
2026-10-01 15:12 ` [PATCH 08/20] trace: drop 'id' from TraceEvent struct when not required Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 09/20] trace: change "DSTATE" variables from uint16_t to uint8_t Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 10/20] trace: add testing of 'nop' trace backend Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 11/20] trace: don't emit TraceEvent structs when 'nop' backend is used Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 12/20] trace: add test of generation with all backends enabled Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 13/20] trace: remove redundant headers from simple trace backend code Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 14/20] audio: remove mistaken use of trace_event_get_state() Daniel P. Berrangé
2026-10-01 18:00 ` Philippe Mathieu-Daudé
2026-10-01 19:14 ` marcandre.lureau
2026-10-02 7:12 ` Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 15/20] hw/ppc: " Daniel P. Berrangé
2026-10-01 18:01 ` Philippe Mathieu-Daudé
2026-10-01 15:12 ` Daniel P. Berrangé [this message]
2026-10-02 10:45 ` [PATCH 16/20] trace: include qemu_loglevel_mask(LOG_TRACE) in guard Paolo Bonzini
2026-10-02 11:03 ` Daniel P. Berrangé
2026-10-02 14:49 ` Paolo Bonzini
2026-10-05 12:08 ` Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 17/20] trace: remove "disable" property from trace files Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 18/20] trace: stop tracking static disabled state Daniel P. Berrangé
2026-10-01 19:14 ` marcandre.lureau
2026-10-02 9:22 ` Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 19/20] trace: remove parsing of "disable" event property Daniel P. Berrangé
2026-10-01 15:12 ` [PATCH 20/20] trace: remove 'trace_event_get_state' wrapper Daniel P. Berrangé
2026-10-01 19:14 ` [PATCH 00/20] trace: bugfixes, cleanups and optimizations marcandre.lureau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261001151228.3373747-17-berrange@redhat.com \
--to=berrange@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.