NOTE: This series applies on top of "trace: [*-user] Add commandline arguments
      to control tracing".

Provides per-vCPU dynamic controls of the tracing state of events with the
"vcpu" property.

A later series proposes an optimization where tracing code can be elided for
dynamically disabled events (it uses multiple virtual TB caches optimized for
the current tracing state of the executing vCPU).


Changes in v7
=============

* Fix typo in commit message.


Changes in v6
=============

* Rebase on 6f1d2d1.
* Add missing include in "scripts/tracetool/format/h.py".


Changes in v5
=============

* Fix 'trace_event_is_vcpu()'.
* Move stub code into the "stubs/" directory [Stefan Hajnoczi].
* Improve docs on QAPI and QMP commands [Markus Armbruster].
* Rewrite 'get_cpu()' to be more in line with use of QEMU's Error objects
  [Markus Armbruster].
* Add "name" argument to HMP command "info trace-events".
* Add "vcpu" argument to HMP commands [Markus Armbruster].


Changes in v4
=============

* Make trace_events_dstate an uint16_t [Paolo Bonzini].
* Revert trace_event_get_state_dynamic_by_id [Stefan Hajnoczi].
* Do not add superfluous asserts [Paolo Bonzini].
* Replace cpu -> vcpu in function names and arguments [Paolo Bonzini].
* Add 'trace_event_is_vcpu' [Paolo Bonzini].
* Remove 'trace_event_cpu_count' [Paolo Bonzini].


Changes in v3
=============

* Update QAPI version annotations [Eric Blake].


Changes in v2
=============

* Rebase on 9bbbf64.
* Fix removal of macro '_' in all target architectures.
* Document behaviour of 'trace_events_dstate'.
* Use a proper bitmap for CPUState::trace_dstate [Stefan Hajnoczi].


Changes in v1
=============

* Rebase on 1b16240.
* Split from v4 of "trace: Per-vCPU tracing states".
* Simplify event state initialization.
* Simplify logic deciding which events are treated by this patch (previously,
  execution-time events with 'tcg' and 'vcpu' properties; now it's simply events
  with the 'vcpu' property).
* Make tracing backends comply with the per-vCPU tracing state.


Signed-off-by: Lluís Vilanova <vilan...@ac.upc.edu>
---

Lluís Vilanova (7):
      trace: Identify events with the 'vcpu' property
      disas: Remove unused macro '_'
      [trivial] trace: Cosmetic changes on fast-path tracing
      trace: Add per-vCPU tracing states for events with the 'vcpu' property
      trace: Conditionally trace events based on their per-vCPU state
      trace: Allow event name pattern in "info trace-events"
      trace: Add QAPI/QMP interfaces to query and control per-vCPU tracing state


 bsd-user/main.c                      |    1 
 disas/alpha.c                        |    6 +
 disas/arm.c                          |    2 
 disas/i386.c                         |    2 
 disas/m68k.c                         |    4 -
 disas/mips.c                         |   50 ++++++-----
 disas/ppc.c                          |   22 +++--
 disas/sparc.c                        |    6 +
 hmp-commands-info.hx                 |    8 +-
 hmp-commands.hx                      |    7 +-
 hmp.h                                |    1 
 include/disas/bfd.h                  |    1 
 include/qom/cpu.h                    |    6 +
 linux-user/main.c                    |    1 
 monitor.c                            |   46 ++++++++++-
 qapi/trace.json                      |   32 ++++++-
 qmp-commands.hx                      |   35 ++++++++
 qom/cpu.c                            |    1 
 scripts/tracetool/backend/dtrace.py  |    4 -
 scripts/tracetool/backend/ftrace.py  |   20 ++---
 scripts/tracetool/backend/log.py     |   26 ++++--
 scripts/tracetool/backend/simple.py  |   13 ++-
 scripts/tracetool/backend/ust.py     |    4 -
 scripts/tracetool/format/events_c.py |   11 ++-
 scripts/tracetool/format/events_h.py |   12 +++
 scripts/tracetool/format/h.py        |   19 ++++
 stubs/Makefile.objs                  |    1 
 stubs/trace-control.c                |   28 ++++++
 trace/Makefile.objs                  |    4 +
 trace/control-internal.h             |   47 +++++++++--
 trace/control-target.c               |   53 ++++++++++++
 trace/control.c                      |   29 ++++++-
 trace/control.h                      |   78 ++++++++++++++++++
 trace/event-internal.h               |    4 +
 trace/qmp.c                          |  148 +++++++++++++++++++++++++++-------
 translate-all.h                      |    3 +
 vl.c                                 |    1 
 37 files changed, 600 insertions(+), 136 deletions(-)
 create mode 100644 stubs/trace-control.c
 create mode 100644 trace/control-target.c


To: qemu-devel@nongnu.org
Cc: Stefan Hajnoczi <stefa...@redhat.com>
Cc: Eduardo Habkost <ehabk...@redhat.com>
Cc: Eric Blake <ebl...@redhat.com>
Cc: Paolo Bonzini <pbonz...@redhat.com>

Reply via email to