[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 0/7] trace: Per-vCPU tracing states
From: |
Lluís Vilanova |
Subject: |
[Qemu-devel] [PATCH v6 0/7] trace: Per-vCPU tracing states |
Date: |
Thu, 23 Jun 2016 17:21:27 +0200 |
User-agent: |
StGit/0.17.1-dirty |
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 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 <address@hidden>
---
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: address@hidden
Cc: Stefan Hajnoczi <address@hidden>
Cc: Eduardo Habkost <address@hidden>
Cc: Eric Blake <address@hidden>
Cc: Paolo Bonzini <address@hidden>
- [Qemu-devel] [PATCH v6 0/7] trace: Per-vCPU tracing states,
Lluís Vilanova <=
- [Qemu-devel] [PATCH v6 1/7] trace: Identify events with the 'vcpu' property, Lluís Vilanova, 2016/06/23
- [Qemu-devel] [PATCH v6 3/7] [trivial] trace: Cosmetic changes on fast-path tracing, Lluís Vilanova, 2016/06/23
- [Qemu-devel] [PATCH v6 5/7] trace: Conditionally trace events based on their per-vCPU state, Lluís Vilanova, 2016/06/23
- [Qemu-devel] [PATCH v6 4/7] trace: Add per-vCPU tracing states for events with the 'vcpu' property, Lluís Vilanova, 2016/06/23
- [Qemu-devel] [PATCH v6 6/7] trace: Allow event name pattern in "info trace-events", Lluís Vilanova, 2016/06/23
- [Qemu-devel] [PATCH v6 7/7] trace: Add QAPI/QMP interfaces to query and control per-vCPU tracing state, Lluís Vilanova, 2016/06/23
- [Qemu-devel] [PATCH v6 2/7] disas: Remove unused macro '_', Lluís Vilanova, 2016/06/23