[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v9 0/7] trace: Show vCPU info in guest code even
From: |
Stefan Hajnoczi |
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 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
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 <address@hidden>
> ---
>
> 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: address@hidden
> Cc: Stefan Hajnoczi <address@hidden>
> Cc: Eduardo Habkost <address@hidden>
> Cc: Eric Blake <address@hidden>
> Cc: Alex Bennée <address@hidden>
>
Thanks, applied to my tracing tree:
https://github.com/stefanha/qemu/commits/tracing
Stefan
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v9 0/7] trace: Show vCPU info in guest code events,
Stefan Hajnoczi <=