| 09612de7 | 06-Jan-2021 | 
            Daniel P. Berrangé <berrange@redhat.com> | 
            tracetool: also strip %l and %ll from systemtap format strings
  All variables are 64-bit and so %l / %ll are not required, and the latter is actually invalid:
    $ sudo stap -e 'probe begin{printf (" 
                    tracetool: also strip %l and %ll from systemtap format strings
  All variables are 64-bit and so %l / %ll are not required, and the latter is actually invalid:
    $ sudo stap -e 'probe begin{printf ("BEGIN")}'  -I .   parse error: invalid or missing conversion specifier           saw: operator ',' at ./qemu-system-x86_64-log.stp:15118:101        source:     printf("%d@%d vhost_vdpa_set_log_base dev: %p base: 0x%x size: %llu refcnt: %d fd: %d log: %p\n", pid(), gettimeofday_ns(), dev, base, size, refcnt, fd, log)
                         ^
  Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Laurent Vivier <lvivier@redhat.com> Message-id: 20210106130239.1004729-1-berrange@redhat.com
  [Fixed "simiarly" typo found by Laurent Vivier <lvivier@redhat.com> --Stefan]
  Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> 
                    show more ...  
                     | 
        
| 13d4ff07 | 12-Aug-2019 | 
            Markus Armbruster <armbru@redhat.com> | 
            trace: Do not include qom/cpu.h into generated trace.h
  docs/devel/tracing.txt explains "since many source files include trace.h, [the generated trace.h use] a minimum of types and other header files 
                    trace: Do not include qom/cpu.h into generated trace.h
  docs/devel/tracing.txt explains "since many source files include trace.h, [the generated trace.h use] a minimum of types and other header files included to keep the namespace clean and compile times and dependencies down."
  Commit 4815185902 "trace: Add per-vCPU tracing states for events with the 'vcpu' property" made them all include qom/cpu.h via control-internal.h.  qom/cpu.h in turn includes about thirty headers. Ouch.
  Per-vCPU tracing is currently not supported in sub-directories' trace-events.  In other words, qom/cpu.h can only be used in trace-root.h, not in any trace.h.
  Split trace/control-vcpu.h off trace/control.h and trace/control-internal.h.  Have the generated trace.h include trace/control.h (which no longer includes qom/cpu.h), and trace-root.h include trace/control-vcpu.h (which includes it).
  The resulting improvement is a bit disappointing: in my "build everything" tree, some 1100 out of 6600 objects (not counting tests and objects that don't depend on qemu/osdep.h) depend on a trace.h, and about 600 of them no longer depend on qom/cpu.h.  But more than 1300 others depend on trace-root.h.  More work is clearly needed. Left for another day.
  Cc: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190812052359.30071-8-armbru@redhat.com> 
                    show more ...  
                     | 
        
| 3932ef3f | 31-Jul-2017 | 
            Stefan Hajnoczi <stefanha@redhat.com> | 
            trace: add TRACE_<event>_BACKEND_DSTATE()
  QEMU keeps track of trace event enabled/disabled state and provides monitor commands to inspect and modify the "dstate".  SystemTap and LTTng UST maintain i 
                    trace: add TRACE_<event>_BACKEND_DSTATE()
  QEMU keeps track of trace event enabled/disabled state and provides monitor commands to inspect and modify the "dstate".  SystemTap and LTTng UST maintain independent enabled/disabled states for each trace event, the other backends rely on QEMU dstate.
  Introduce a new per-event macro that combines backend-specific dstate like this:
    #define TRACE_MY_EVENT_BACKEND_DSTATE() ( \       QEMU_MY_EVENT_ENABLED() || /* SystemTap */ \       tracepoint_enabled(qemu, my_event) /* LTTng UST */ || \       false)
  This will be used to extend trace_event_get_state() in the next patch.
  [Daniel Berrange pointed out that QEMU_MY_EVENT_ENABLED() must be true by default, not false.  This way events will fire even if the DTrace implementation does not implement the SystemTap semaphores feature.
  Ubuntu Precise uses lttng-ust-dev 2.0.2 which does not have tracepoint_enabled(), so we need a compatibility wrapper to keep Travis builds passing. --Stefan]
  Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 20170731140718.22010-2-stefanha@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
  fixup! trace: add TRACE_<event>_BACKEND_DSTATE() 
                    show more ...  
                     |