qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@gmail.com>
To: "Lluís Vilanova" <vilanova@ac.upc.edu>
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	qemu-devel@nongnu.org, "Stefan Hajnoczi" <stefanha@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v9 0/7] trace: Show vCPU info in guest code events
Date: Tue, 1 Mar 2016 13:31:40 +0000	[thread overview]
Message-ID: <20160301133140.GA6168@stefanha-x1.localdomain> (raw)
In-Reply-To: <145641857632.30295.407142116443473458.stgit@localhost>

[-- Attachment #1: Type: text/plain, Size: 6171 bytes --]

On Thu, Feb 25, 2016 at 05:42:58PM +0100, Lluís Vilanova wrote:
> 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 v9
> =============
> 
> * Rebase on 774ae42.
> * Fix CPUState typedef, and refactor into a separate patch [Stefan Hajnoczi].
> * Fix TCGv_cpu -> TCGv_env rename in sparc [Stefan Hajnoczi].
> 
> 
> Changes in v8
> =============
> 
> * Rebase on 1b16240.
> * Minor fix in message formatting ('tracetool.vcpu' module).
> * Fix management of event arguments with TCG types.
> * Tested with various (non sent) events with different mixes of native and TCG arguments.
> 
> 
> 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 <vilanova@ac.upc.edu>
> ---
> 
> Lluís Vilanova (7):
>       trace: Extend API to manage event arguments
>       trace: Remove unnecessary intermediate event copies
>       tcg: Add type for vCPU pointers
>       tcg: Move definition of type TCGv
>       [trivial] trace: Add helper function to cast event arguments
>       typedefs: Add CPUState
>       trace: Add 'vcpu' event property to trace guest vCPU
> 
> 
>  docs/tracing.txt                                 |   41 +++++++++++++
>  include/qemu/typedefs.h                          |    1 
>  include/qom/cpu.h                                |    1 
>  scripts/tracetool/__init__.py                    |   35 +++++++++--
>  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         |   45 +++++++++++---
>  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                        |   70 ++++++++++++++++++++++
>  stubs/target-get-monitor-def.c                   |    3 -
>  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-op.h                                     |    2 -
>  tcg/tcg.h                                        |    8 +++
>  trace/control.h                                  |    3 +
>  36 files changed, 242 insertions(+), 65 deletions(-)
>  create mode 100644 scripts/tracetool/vcpu.py
> 
> 
> To: qemu-devel@nongnu.org
> Cc: Stefan Hajnoczi <stefanha@redhat.com>
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Eric Blake <eblake@redhat.com>
> Cc: Alex Bennée <alex.bennee@linaro.org>
> 

Thanks, applied to my tracing tree:
https://github.com/stefanha/qemu/commits/tracing

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

      parent reply	other threads:[~2016-03-01 13:31 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-25 16:42 [Qemu-devel] [PATCH v9 0/7] trace: Show vCPU info in guest code events Lluís Vilanova
2016-02-25 16:43 ` [Qemu-devel] [PATCH v9 1/7] trace: Extend API to manage event arguments Lluís Vilanova
2016-02-25 16:43 ` [Qemu-devel] [PATCH v9 2/7] trace: Remove unnecessary intermediate event copies Lluís Vilanova
2016-02-25 16:43 ` [Qemu-devel] [PATCH v9 3/7] tcg: Add type for vCPU pointers Lluís Vilanova
2016-02-25 16:43 ` [Qemu-devel] [PATCH v9 4/7] tcg: Move definition of type TCGv Lluís Vilanova
2016-02-25 16:43 ` [Qemu-devel] [PATCH v9 5/7] [trivial] trace: Add helper function to cast event arguments Lluís Vilanova
2016-02-25 16:43 ` [Qemu-devel] [PATCH v9 6/7] typedefs: Add CPUState Lluís Vilanova
2016-02-25 16:43 ` [Qemu-devel] [PATCH v9 7/7] trace: Add 'vcpu' event property to trace guest vCPU Lluís Vilanova
2016-03-01 11:10 ` [Qemu-devel] [PATCH v9 0/7] trace: Show vCPU info in guest code events Lluís Vilanova
2016-03-01 13:31 ` Stefan Hajnoczi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160301133140.GA6168@stefanha-x1.localdomain \
    --to=stefanha@gmail.com \
    --cc=alex.bennee@linaro.org \
    --cc=ehabkost@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=vilanova@ac.upc.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).