All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v6 0/4] trace: Show vCPU info in guest code events
@ 2016-02-09 21:14 Lluís Vilanova
  2016-02-09 21:14 ` [Qemu-devel] [PATCH v6 1/4] trace: Extend API to manage event arguments Lluís Vilanova
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Lluís Vilanova @ 2016-02-09 21:14 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Stefan Hajnoczi, Eduardo Habkost

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 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 <vilanova@ac.upc.edu>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
---

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                    |   30 +++++++---
 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, 223 insertions(+), 55 deletions(-)
 create mode 100644 scripts/tracetool/vcpu.py


To: qemu-devel@nongnu.org
Cc: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Eric Blake <eblake@redhat.com>
Cc: Alex Bennée <alex.bennee@linaro.org>

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-02-11 14:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-09 21:14 [Qemu-devel] [PATCH v6 0/4] trace: Show vCPU info in guest code events Lluís Vilanova
2016-02-09 21:14 ` [Qemu-devel] [PATCH v6 1/4] trace: Extend API to manage event arguments Lluís Vilanova
2016-02-09 21:14 ` [Qemu-devel] [PATCH v6 2/4] trace: Remove unnecessary intermediate event copies Lluís Vilanova
2016-02-11 14:30   ` Lluís Vilanova
2016-02-09 21:14 ` [Qemu-devel] [PATCH v6 3/4] tcg: Add type for vCPU pointers Lluís Vilanova
2016-02-10  3:24   ` Richard Henderson
2016-02-10 13:15     ` Lluís Vilanova
2016-02-10 13:38       ` Lluís Vilanova
2016-02-09 21:14 ` [Qemu-devel] [PATCH v6 4/4] trace: Add 'vcpu' event property to trace guest vCPU Lluís Vilanova

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.