Lluís Vilanova writes: > 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). Hi, I guess it's been a hectic time to integrate patches, but I haven't received a comment on the tracing part since v4. If possible, I'd like to send an actual guest code event (vmem accesses) before the soft-freeze (once this series is accepted). Cheers, Lluis > 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 (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: 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>