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>
This commit is contained in:
Paolo Bonzini 2025-09-29 17:49:27 +02:00 committed by Stefan Hajnoczi
parent 6f94ad27f0
commit 02d4a4a674
4 changed files with 24 additions and 32 deletions

View file

@ -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];

View file

@ -8,5 +8,6 @@
extern int trace_marker_fd;
bool ftrace_init(void);
G_GNUC_PRINTF(1, 2) void ftrace_write(const char *fmt, ...);
#endif /* TRACE_FTRACE_H */