qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v70/4] trace: Show vCPU info in guest code events


From: Lluís Vilanova
Subject: [Qemu-devel] [PATCH v70/4] trace: Show vCPU info in guest code events
Date: Wed, 17 Feb 2016 22:20:39 +0100
User-agent: StGit/0.17.1-dirty

NOTE: This series should complete the framework for guest code tracing. From
      here on, other series can concurrently add actual events and improve the
      guest code tracing features and performance (e.g., control tracing
      independently on each vCPU).

This series introduces the "vcpu" property for tracing events. This property
identifies events that are tied to a particular virtual CPU (e.g., executing an
instruction).

Events with this property have an implicit vcpu argument, which is shown in the
trace. In the case of events executed at TCG translation time, two implicit
arguments are added:

* The vCPU performing the code translation (shown in the translation-time trace)
* The vCPU executing the translated code (shown in the execution-time trace)

Note that the "vcpu" and "tcg" properties are not merged into a single one,
since events can be defined that relate to a vCPU but are never raised from TCG
code (e.g., interrupts).


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

* Fix the modified event copying code.
* Minor fix in commit message for patch 3.


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

* Rebase on 84c0781.
* Replace the added 'TCGv_cpu' type for 'TCGv_env', since the users are really
  pointing to 'CPUArchState'.
* Add functions to simplify event argument management.
* Add minor event copy cleanup (remove long "event.original.original" chains).
* Make it easier to change arguments injected by the 'vcpu' property.


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

* Rebase on 357e81c.
* Split from the previous (larger and more complex) v4 series.


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

* Fix typo in commit message (Stefan Hajnoczi).
* Simplify per-vCPU tracing state initialization (Stefan Hajnoczi).
* Update copyright years.


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

* Update QAPI version (Eric Blake).
* Fix '#optional' annotation in QAPI (Eric Blake).


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

* Rebase on 5522a84.
* Improve patch descriptions.
* Refactor code generation into a separate patch.
* Fix forward declarations (Stefan Hajnoczi & Eduardo Habkost).
* Fix "since" tags in QAPI interface (Eric Blake).
* Unify QAPI/QMP interface with an optional 'vcpu' argument (Eric Blake).
* Fix QMP+GTK header workaround (Stefan Hajnoczi).


Signed-off-by: Lluís Vilanova <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
---

Lluís Vilanova (4):
      trace: Extend API to manage event arguments
      trace: Remove unnecessary intermediate event copies
      tcg: Add type for vCPU pointers
      trace: Add 'vcpu' event property to trace guest vCPU


 docs/tracing.txt                                 |   41 +++++++++++++
 include/qemu/typedefs.h                          |    1 
 scripts/tracetool/__init__.py                    |   31 ++++++++--
 scripts/tracetool/format/events_h.py             |    4 +
 scripts/tracetool/format/h.py                    |    3 +
 scripts/tracetool/format/tcg_h.py                |   33 +++++++----
 scripts/tracetool/format/tcg_helper_c.py         |   35 +++++++++--
 scripts/tracetool/format/tcg_helper_h.py         |    7 +-
 scripts/tracetool/format/tcg_helper_wrapper_h.py |    5 +-
 scripts/tracetool/format/ust_events_c.py         |    1 
 scripts/tracetool/transform.py                   |    4 +
 scripts/tracetool/vcpu.py                        |   69 ++++++++++++++++++++++
 target-alpha/translate.c                         |    2 -
 target-arm/translate.c                           |    2 -
 target-arm/translate.h                           |    2 -
 target-cris/translate.c                          |    2 -
 target-i386/translate.c                          |    2 -
 target-lm32/translate.c                          |    2 -
 target-m68k/translate.c                          |    2 -
 target-microblaze/translate.c                    |    2 -
 target-mips/translate.c                          |    2 -
 target-moxie/translate.c                         |    2 -
 target-openrisc/translate.c                      |    2 -
 target-ppc/translate.c                           |    2 -
 target-s390x/translate.c                         |    2 -
 target-sh4/translate.c                           |    2 -
 target-sparc/translate.c                         |    5 +-
 target-tilegx/translate.c                        |    2 -
 target-tricore/translate.c                       |    2 -
 target-unicore32/translate.c                     |    2 -
 target-xtensa/translate.c                        |    2 -
 tcg/tcg.h                                        |    1 
 trace/control.h                                  |    3 +
 33 files changed, 224 insertions(+), 55 deletions(-)
 create mode 100644 scripts/tracetool/vcpu.py


To: address@hidden
Cc: Stefan Hajnoczi <address@hidden>
Cc: Eduardo Habkost <address@hidden>
Cc: Eric Blake <address@hidden>
Cc: Alex Bennée <address@hidden>



reply via email to

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