On Fri, Oct 02, 2026 at 04:49:19PM +0200, Paolo Bonzini wrote:
> Il ven 2 ott 2026, 13:04 Daniel P. Berrangé <[email protected]> ha
> scritto:
> 
> > On Fri, Oct 02, 2026 at 12:45:49PM +0200, Paolo Bonzini wrote:
> > > On 10/1/26 17:12, Daniel P. Berrangé wrote:
> > > > 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.
> > > This also needs something for Rust (apologies for the mailer damage):
> >
> > Ok, I'll test that and include it in a future v3, since I already
> > sent out v2 before seeing this.
> >
> 
> No hurry, it's just an optimization.

Trying your suggested patch exposed an existing bug in the code, where we
did not merge the checks in the C code, and this was only apparent once
removing the CHECK_TRACE_EVENT_GET_STATE flag. So I've fixed this all in
the v3 posting.

> 
> Paolo
> 
> > --- a/scripts/tracetool/backend/log.py
> > > +++ b/scripts/tracetool/backend/log.py
> > > @@ -16,7 +16,6 @@
> > >
> > >
> > >  PUBLIC = True
> > > -CHECK_TRACE_EVENT_GET_STATE = True
> > >
> > >
> > >  def generate_h_begin(events, group):
> > > @@ -52,3 +51,9 @@ def generate_rs(event, group):
> > >          '        }',
> > >          fmt=expand_format_string(event.fmt, event.name + " "),
> > >          args=event.args.rust_call_varargs())
> > > +
> > > +def generate_rs_backend_dstate(event, group):
> > > +    out('    unsafe { (bindings::qemu_loglevel & bindings::LOG_TRACE)
> > != 0
> > > && '
> > > +        + 'trace_event_state_is_enabled(_%(event_id)s_DSTATE) } ||',
> > > +        event_id = 'TRACE_' + e.name.upper())
> > > +
> > >
> > > Paolo
> > >
> >
> > With regards,
> > Daniel
> > --
> > |: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
> > |: https://libvirt.org          ~~          https://entangle-photo.org :|
> > |: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|
> >
> >

With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|


Reply via email to