On Tue, Feb 23, 2016 at 07:19:10PM +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 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 <vilan...@ac.upc.edu> > Acked-by: Stefan Hajnoczi <stefa...@redhat.com> > --- > > Lluís Vilanova (6): > 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 > trace: Add 'vcpu' event property to trace guest vCPU > > > docs/tracing.txt | 41 +++++++++++++ > include/qemu/typedefs.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 > ++++++++++++++++++++++ > 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 + > 34 files changed, 241 insertions(+), 62 deletions(-) > create mode 100644 scripts/tracetool/vcpu.py > > > To: qemu-devel@nongnu.org > Cc: Stefan Hajnoczi <stefa...@redhat.com> > Cc: Eduardo Habkost <ehabk...@redhat.com> > Cc: Eric Blake <ebl...@redhat.com> > Cc: Alex Bennée <alex.ben...@linaro.org>
Thanks, applied to my tracing tree: https://github.com/stefanha/qemu/commits/tracing Stefan
signature.asc
Description: PGP signature