[PATCH 0/3] trace: seperate cold path of trace

Tanish Desai posted 3 patches 5 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20250601181231.3461-1-tanishdesai37@gmail.com
Maintainers: Stefan Hajnoczi <stefanha@redhat.com>, Mads Ynddal <mads@ynddal.dk>
scripts/tracetool/backend/ftrace.py | 44 +++++++++++++++++++++--------
scripts/tracetool/backend/log.py    | 26 +++++++++++++++--
scripts/tracetool/backend/syslog.py | 36 ++++++++++++++++++-----
3 files changed, 85 insertions(+), 21 deletions(-)
[PATCH 0/3] trace: seperate cold path of trace
Posted by Tanish Desai 5 months, 2 weeks ago
This patch continues the optimize fast trace paths started in previous patch (trace/simple: seperate hot paths of tracing fucntions), which optimized the simple backend by moving its hot path to the header. Here, we apply the same pattern to the log, ftrace, and syslog backends.
The fast path remains in the header with minimal inline checks, while the backend-specific logic is now handled in dedicated `_log_trace_vhost_commit()`, `_ftrace_trace_vhost_commit()`, and `_syslog_trace_vhost_commit()` functions in the .c file.
While this doesn’t yield the same level of optimization as the simple backend , it improves performance on compilers where inlining is less reliable and reduces header bloat.
This change also improves code organization:
- All trace event checks are now centralized in headers
- All backend logic is contained in clearly named functions in the .c file
This makes the tracing infrastructure cleaner, more maintainable, and better optimized for diverse compiler behaviors.

Tanish Desai (3):
  trace/syslog: seperate cold paths of tracing functions
  trace/ftrace: seperate cold paths of tracing functions
  trace/log: seperate cold path of tracing functions

 scripts/tracetool/backend/ftrace.py | 44 +++++++++++++++++++++--------
 scripts/tracetool/backend/log.py    | 26 +++++++++++++++--
 scripts/tracetool/backend/syslog.py | 36 ++++++++++++++++++-----
 3 files changed, 85 insertions(+), 21 deletions(-)

-- 
2.34.1