[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v8 0/7] trace: [tcg] Optimize per-vCPU tracing state
From: |
Emilio G. Cota |
Subject: |
[Qemu-devel] [PATCH v8 0/7] trace: [tcg] Optimize per-vCPU tracing states |
Date: |
Thu, 8 Jun 2017 22:25:15 -0400 |
This is my own respin of Lluís' v7:
https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg02741.html
Changes from v7:
- Ported to current dev tree.
- Allocate cpu->trace_dstate statically. This
* allows us to drop the event_count inline patch.
* simplifies and improves the performance of accessing cpu->trace_dstate:
we just need to dereference, instead of going through bitmap_copy and
an intermediate unsigned long.
- If we try to register more CPU events than the max we support (there's a
constant
for it), drop the event and tell the user with error_report. But really this
is a bug, since we control what CPU events are traceable. Should we abort()
as well?
- Added rth's R-b tag
- Addressed my own comments:
* rename tb->trace_vcpu_dstate to the shorter tb->trace_ds
* use uint32_t for tb->trace_ds instead of a typedef
* add BUILD_BUG_ON check to make sure tb->trace_ds is big enough
* fix xxhash
- Do not add trace_dstate to tb_htable_lookup, since we can grab it from
cpu->trace_dstate.
This patchset applies cleanly on top of rth's tcg-next (a01792e1e).
Thanks,
Emilio
Emilio G. Cota (1):
cpu: allocate cpu->trace_dstate in place
Lluís Vilanova (6):
exec: [tcg] Refactor flush of per-CPU virtual TB cache
trace: [tcg] Delay changes to dynamic state when translating
exec: [tcg] Use different TBs according to the vCPU's dynamic tracing
state
trace: [tcg] Do not generate TCG code to trace dinamically-disabled
events
trace: [tcg, trivial] Re-align generated code
trace: [trivial] Statically enable all guest events
cpu-exec.c | 8 ++++++--
cputlb.c | 2 +-
include/exec/exec-all.h | 9 +++++++++
include/exec/tb-hash-xx.h | 7 +++++--
include/exec/tb-hash.h | 5 +++--
include/qom/cpu.h | 12 ++++++------
qom/cpu.c | 8 --------
scripts/tracetool/__init__.py | 3 ++-
scripts/tracetool/backend/dtrace.py | 4 ++--
scripts/tracetool/backend/ftrace.py | 20 ++++++++++----------
scripts/tracetool/backend/log.py | 19 ++++++++++---------
scripts/tracetool/backend/simple.py | 4 ++--
scripts/tracetool/backend/syslog.py | 6 +++---
scripts/tracetool/backend/ust.py | 4 ++--
scripts/tracetool/format/h.py | 26 +++++++++++++++++++-------
scripts/tracetool/format/tcg_h.py | 21 +++++++++++++++++----
scripts/tracetool/format/tcg_helper_c.py | 5 +++--
tcg-runtime.c | 3 ++-
tests/qht-bench.c | 2 +-
trace-events | 6 +++---
trace/control-target.c | 22 +++++++++++++++++++---
trace/control.c | 9 ++++++++-
trace/control.h | 3 +++
translate-all.c | 25 ++++++++++++++++++-------
24 files changed, 154 insertions(+), 79 deletions(-)
--
2.7.4
- [Qemu-devel] [PATCH v8 0/7] trace: [tcg] Optimize per-vCPU tracing states,
Emilio G. Cota <=
- [Qemu-devel] [PATCH v8 7/7] trace: [trivial] Statically enable all guest events, Emilio G. Cota, 2017/06/08
- Re: [Qemu-devel] [PATCH v8 7/7] trace: [trivial] Statically enable all guest events, Daniel P. Berrange, 2017/06/26
- Re: [Qemu-devel] [PATCH v8 7/7] trace: [trivial] Statically enable all guest events, Lluís Vilanova, 2017/06/26
- Re: [Qemu-devel] [PATCH v8 7/7] trace: [trivial] Statically enable all guest events, Daniel P. Berrange, 2017/06/26
- Re: [Qemu-devel] [PATCH v8 7/7] trace: [trivial] Statically enable all guest events, Laurent Desnogues, 2017/06/26
- Re: [Qemu-devel] [PATCH v8 7/7] trace: [trivial] Statically enable all guest events, Lluís Vilanova, 2017/06/26
- Re: [Qemu-devel] [PATCH v8 7/7] trace: [trivial] Statically enable all guest events, Daniel P. Berrange, 2017/06/26
[Qemu-devel] [PATCH v8 3/7] trace: [tcg] Delay changes to dynamic state when translating, Emilio G. Cota, 2017/06/08
[Qemu-devel] [PATCH v8 2/7] cpu: allocate cpu->trace_dstate in place, Emilio G. Cota, 2017/06/08