qemu-devel
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]