summary refs log tree commit diff stats
path: root/trace/ftrace.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-09-29 17:49:27 +0200
committerStefan Hajnoczi <stefanha@redhat.com>2025-10-01 11:22:07 -0400
commit02d4a4a674d45d41c9afd1fd161c14eca81f7a86 (patch)
tree94b23bbfb2fe1b5dc3ded4e53c9b1c12ac6d4746 /trace/ftrace.c
parent6f94ad27f0014c04a2aa403988acc22740a21196 (diff)
downloadfocaccia-qemu-02d4a4a674d45d41c9afd1fd161c14eca81f7a86.tar.gz
focaccia-qemu-02d4a4a674d45d41c9afd1fd161c14eca81f7a86.zip
trace/ftrace: move snprintf+write from tracepoints to ftrace.c
This simplifies the Python code and reduces the size of the tracepoints.

Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-ID: <20250929154938.594389-6-pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'trace/ftrace.c')
-rw-r--r--trace/ftrace.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/trace/ftrace.c b/trace/ftrace.c
index 9749543d9b..6875faedb9 100644
--- a/trace/ftrace.c
+++ b/trace/ftrace.c
@@ -38,6 +38,21 @@ static int find_mount(char *mount_point, const char *fstype)
     return ret;
 }
 
+void ftrace_write(const char *fmt, ...)
+{
+    char ftrace_buf[MAX_TRACE_STRLEN];
+    int unused __attribute__ ((unused));
+    int trlen;
+    va_list ap;
+
+    va_start(ap, fmt);
+    trlen = vsnprintf(ftrace_buf, MAX_TRACE_STRLEN, fmt, ap);
+    va_end(ap);
+
+    trlen = MIN(trlen, MAX_TRACE_STRLEN - 1);
+    unused = write(trace_marker_fd, ftrace_buf, trlen);
+}
+
 bool ftrace_init(void)
 {
     char mount_point[PATH_MAX];